]> granicus.if.org Git - clang/commit
Re-land: Add Clang shared library with C++ exports
authorChris Bieneman <chris.bieneman@me.com>
Fri, 17 May 2019 04:20:01 +0000 (04:20 +0000)
committerChris Bieneman <chris.bieneman@me.com>
Fri, 17 May 2019 04:20:01 +0000 (04:20 +0000)
commit5766e93db0eba14a9a11974bbc6864dd02ebaabc
tree90a6b374f7b1668267edce97e2b3b1075d3252a3
parent84c99291713b3297f16404846d904bd6cf2ad3cd
Re-land: Add Clang shared library with C++ exports

Summary:
This patch adds a libClang_shared library on *nix systems which exports the entire C++ API. In order to support this on Windows we should really refactor llvm-shlib and share code between the two.

This also uses a slightly different method for generating the shared library, which I should back-port to llvm-shlib. Instead of linking the static archives and passing linker flags to force loading the whole libraries, this patch creates object libraries for every library (which has no cost in the build system), and link the object libraries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@360985 91177308-0d34-0410-b5e6-96231b3b80d8
cmake/modules/AddClang.cmake
tools/CMakeLists.txt
tools/clang-shlib/CMakeLists.txt [new file with mode: 0644]
tools/clang-shlib/clang-shlib.cpp [new file with mode: 0644]