[PATCH] D49502: [CMake] Support statically linking dependencies only to shared or static library
Petr Hosek via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 18 18:49:10 PDT 2018
phosek added inline comments.
================
Comment at: libcxx/lib/CMakeLists.txt:269
+ AND (TARGET cxxabi_static OR HAVE_LIBCXXABI))
+ #if ((TARGET ${LIBCXX_CXX_ABI_LIBRARY}) OR
+ #(${LIBCXX_CXX_ABI_LIBRARY} MATCHES "cxxabi(_static|_shared)?" AND HAVE_LIBCXXABI))
----------------
ldionne wrote:
> I don't understand why any of this needs to change -- can you please explain? Also, you probably didn't mean to leave the commented-out lines.
The reason this change is needed the case when we're linking shared libc++abi into shared libc++ in which case `${LIBCXX_CXX_ABI_LIBRARY}` will be set to `cxxabi_shared` in `HandleLibCXXABI.cmake` but we cannot merge `libc++abi.so` into `libc++.a`, so instead we force the use of `cxxabi_static` here.
Alternatively, we could modify `HandleLibCXXABI.cmake` to set two dependencies, one for the static case and one for the shared case and use the former one here.
Removed the commented out lines.
Repository:
rCXX libc++
https://reviews.llvm.org/D49502
More information about the cfe-commits
mailing list