building projects/lld or projects/*

Hi,

After reading Michael Spencer's presentation on lld
(http://llvm.org/devmtg/2012-04-12/Slides/Michael_Spencer.pdf), I
thought I'd try building it myself. I created projects/lld as a
symlink to the lld source tree (is this the right approach?), but I
had some trouble getting the llvm build system to actually build it.

- a "configure"-based build only seems to know about projects/sample/
and projects/test-suite/, and I couldn't find any way to get it to
build projects/lld/.

- a CMake-based build seems to automatically pick up on new
directories in projects/, so it did (try to) build lld.

Is this how it's supposed to work? Is it an intentional difference?
It's quite confusing!

With a configure-based build, is there any way to tell it to build
projects/lld, or everything in projects/* ?

Thanks,
Jay.

- a "configure"-based build only seems to know about projects/sample/
and projects/test-suite/, and I couldn't find any way to get it to
build projects/lld/.

I investigated a bit more. llvm's autoconf/configure.ac says:

dnl Configure all of the projects present in our source tree. While we could
dnl just AC_CONFIG_SUBDIRS on the set of directories in projects that have a
dnl configure script, that usage of the AC_CONFIG_SUBDIRS macro is deprecated.
dnl Instead we match on the known projects.

... and the list of known projects does not include lld. And lld
doesn't have a configure script, so I guess there's no chance of
building it in a configure-based build (is there?).

Thanks,
Jay.

How about this update to the lld development docs?

Thanks,
Jay.

lld.diff (730 Bytes)

Correct, there is no autoconf based build for lld.

I'll reply to your patch on llvm-commits.

- Michael Spencer