Adding llvm-shlib to CMake build system with a few new bells and whistles
authorChris Bieneman <beanz@apple.com>
Thu, 23 Oct 2014 17:22:14 +0000 (17:22 +0000)
committerChris Bieneman <beanz@apple.com>
Thu, 23 Oct 2014 17:22:14 +0000 (17:22 +0000)
commitadffd01498bbbe16a9bc63009cdbd62954c3fa8b
tree7be15896438f1583bfe8e888f395dda6b7909313
parentacb64e8875a7191c48d2240a2c8de74736ef8ac6
Adding llvm-shlib to CMake build system with a few new bells and whistles

Summary:
This patch adds a new CMake build setting LLVM_BUILD_LLVM_DYLIB, which defaults to OFF. When set to ON, this will generate a shared library containing most of LLVM. The contents of the shared library can be overriden by specifying LLVM_DYLIB_COMPONENTS. LLVM_DYLIB_COMPONENTS can be set to a semi-colon delimited list of any LLVM components that you llvm-config can resolve.

On Windows, unless you are using Cygwin, you must specify an explicit symbol export file using LLVM_EXPORTED_SYMBOL_FILE. On Cygwin and all unix-like platforms if you do not specify LLVM_EXPORTED_SYMBOL_FILE, an export file containing only the LLVM C API will be auto-generated from the list of LLVM components specified in LLVM_DYLIB_COMPONENTS.

Reviewers: rnk

Reviewed By: rnk

Subscribers: rnk, llvm-commits

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

llvm-svn: 220490
llvm/CMakeLists.txt
llvm/tools/CMakeLists.txt
llvm/tools/llvm-shlib/CMakeLists.txt [new file with mode: 0644]
llvm/tools/llvm-shlib/libllvm.cpp [new file with mode: 0644]