[PATCH] D24863: Keep dependencies separated between static and dynamic libraries. Fix for bug #28127.

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 23 16:01:43 PDT 2016


beanz requested changes to this revision.
beanz added a comment.
This revision now requires changes to proceed.

Making static archives only have dependencies on other static archives has serious implications and fundamentally breaks `LLVM_LINK_LLVM_DYLIB`. For example:

libClangDriver.a depends on libLLVMDriver.a.

In the current build with the `LLVM_LINK_LLVM_DYLIB` libClangDriver.a depends on libLLVM, which means clang depends on libLLVM.

If you make static archives only depend on static archives now libClangDriver.a depends on libLLVMDriver.a, which means clang would link libLLVMDriver.a in addition to getting libLLVM. Standard unix linker semantics will result in code from libLLVMDriver being linked into libClang, which is explicitly what `LLVM_LINK_LLVM_DYLIB` is intended to prevent.


Repository:
  rL LLVM

https://reviews.llvm.org/D24863





More information about the llvm-commits mailing list