llvm/tools
Andrew Wilkins f5148ebe0a [cmake] rework LLVM_LINK_LLVM_DYLIB option handling
Summary:
This diff attempts to address the concerns raised in
http://reviews.llvm.org/D12488.

We introduce a new USE_SHARED option to llvm_config,
which, if set, causes the target to be linked against
libLLVM.

add_llvm_utility now uniformly disables linking against
libLLVM. These utilities are not intended for distribution,
and this keeps the option handling more centralised.

llvm-shlib is now processes before any other "tools"
subdirectories, ensuring the libLLVM target is defined
before its dependents.

One main difference from what was requested: llvm_config
does not prune LLVM_DYLIB_COMPONENTS from the components
passed into explicit_llvm_config. This is because the "all"
component does something special, adding additional
libraries (namely libLTO). Adding the component libraries
after libLLVM should not be a problem, as symbols will be
resolved in libLLVM first.

Finally, I'm not really happy with the
DISABLE_LLVM_LINK_LLVM option, but I'm not sure of a
better way to get the following:
 - link all tools and shared libraries to libLLVM if
   LLVM_LINK_LLVM_DYLIB is set
 - some way of explicitly *not* doing so for utilities
   and libLLVM itself
Suggestions for improvement here are particularly welcome.

Reviewers: beanz

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D12590

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246918 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 08:27:33 +00:00
..
bugpoint Replace some calls to isa<LandingPadInst> with isEHPad() 2015-08-19 19:54:02 +00:00
bugpoint-passes bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
dsymutil Reapply r246012 [dsymutil] Emit real dSYM companion binaries. 2015-09-02 16:49:13 +00:00
gold gold-plugin: Implement parallel LTO code generation using llvm::splitCodeGen. 2015-09-01 20:40:22 +00:00
llc Remove access to the DataLayout in the TargetMachine 2015-07-24 16:04:22 +00:00
lli Fix lli with OrcLazyJIT: the default DataLayout was used. 2015-07-30 17:29:33 +00:00
llvm-ar For new archive member we only need to store the full path. 2015-07-15 22:46:53 +00:00
llvm-as Fix input validation issues in llvm-as/llvm-dis 2015-05-11 21:20:20 +00:00
llvm-as-fuzzer Build a lib/Fuzzer version for llvm-as. 2015-08-31 17:55:32 +00:00
llvm-bcanalyzer [WinEH] Add cleanupendpad instruction 2015-09-03 09:09:43 +00:00
llvm-c-test
llvm-config [CMake] Fix PR14200, llvm-config output misses -fno-rtti 2015-08-14 16:20:31 +00:00
llvm-cov [Object] Search for architecures by name in MachOUniversalBinary::getObjectForArch() 2015-06-22 21:33:24 +00:00
llvm-cxxdump [llvm-cxxdump] Correctly process relocations when given multiple files 2015-08-13 18:31:43 +00:00
llvm-diff -Wdeprecated clean by making LogBuilder move constructible so it can be returned by value (in DifferenceEngine::logf) 2015-08-05 21:06:50 +00:00
llvm-dis Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
llvm-dwarfdump [dwarfdump] Add support for dumping mach-o universal objectfiles 2015-08-03 00:10:31 +00:00
llvm-extract uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-go Enable linking tools, shared libraries against libLLVM 2015-09-01 03:14:31 +00:00
llvm-jitlistener Fix the -DBUILD_SHARED_LIBS=ON build. 2015-07-07 17:48:00 +00:00
llvm-link New bitcode linker flags: 2015-09-01 17:55:55 +00:00
llvm-lto CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
llvm-mc Use named temporaries for directional labels. 2015-06-17 16:26:47 +00:00
llvm-mcmarkup
llvm-nm Convert getSymbolSection to return an ErrorOr. 2015-08-07 23:27:14 +00:00
llvm-objdump [llvm-reaodbj] Simplify code. No functional change (intended). 2015-09-02 16:53:25 +00:00
llvm-pdbdump Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
llvm-profdata modules: Move ProfileKinds to an anonymous namespace 2015-06-16 00:43:04 +00:00
llvm-readobj [llvm-readobj] MachO: dump the correct field. 2015-09-04 20:43:00 +00:00
llvm-rtdyld Convert getSymbolSection to return an ErrorOr. 2015-08-07 23:27:14 +00:00
llvm-shlib [cmake] rework LLVM_LINK_LLVM_DYLIB option handling 2015-09-05 08:27:33 +00:00
llvm-size Fix "the the" in comments. 2015-06-19 01:53:21 +00:00
llvm-split TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
llvm-stress [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
llvm-symbolizer [llvm-symbolizer] Remove underscores and other C mangling on Windows 2015-08-10 21:47:11 +00:00
lto LTO: Simplify merged module ownership. 2015-08-24 22:22:53 +00:00
macho-dump [Object, MachO] Introduce MachOObjectFile::load_commands() range iterator. 2015-06-03 22:19:36 +00:00
msbuild
obj2yaml Pass a symbol table to getRelocationSymbol instead of returning one. 2015-09-02 15:07:39 +00:00
opt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
verify-uselistorder Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
yaml2obj [yaml2obj] Support numeric indexes to create invalid files. Will be used by lld test. 2015-08-27 23:11:20 +00:00
CMakeLists.txt [CMake] Projects supported via LLVM_EXTERNAL_*_SOURCE_DIR need to be explicitly specified. 2015-07-21 15:53:09 +00:00
LLVMBuild.txt TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
Makefile TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00