[LLVMdev] [RFC] March Update: Progress report on CMake build system's ability to replace autoconf

Dan Liew dan at su-root.co.uk
Wed Mar 4 12:25:43 PST 2015

Hi Chris,

Thanks for working on this. I haven't been following LLVM for a few
months and in that time it seems support for building a monolithic
shared library has been added which is great! I've been looking over
it and I have a few questions/comments.

* The LLVM_BUILD_LLVM_DYLIB flag isn't document. I've attached a patch for this.

* I'm not very familiar with export lists so sorry if this is a dumb
question. I see that one is generated that only has LLVM's C API in
  It doesn't look like this file gets installed or used by the rest of
the build. Who is the intended consumer for this file?

* I think there's a difference in behaviour between the
autoconf/Makefile build system's ``--enabled-shared``
   and the current implementation. When LLVM is built with
--enable-shared the llvm tools are linked against the shared
   library but with LLVM_BUILD_LLVM_DYLIB the tools are still linked
against the static LLVM libraries. I'm not sure
   if people really care about this (perhaps distribution package
maintainers might?).

* The exported LLVM targets [1] which external projects using CMake can use
   to add LLVM to their project still refers to LLVM's static
libraries rather than the built
   dynamic library. Should this be changed? I'm not sure how easy this would be.

* Placing the files for building the shared library in ``tools/``
feels a bit odd given that its
  not actually a tool. Is there a good reason for doing this?

[1] http://llvm.org/docs/CMake.html#embedding-llvm-in-your-project

-------------- next part --------------
A non-text attachment was scrubbed...
Name: document_LLVM_BUILD_DYLIB.patch
Type: text/x-patch
Size: 1266 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150304/7aa9719b/attachment.bin>

More information about the llvm-dev mailing list