ldionne added a comment. In D120727#3372594 <https://reviews.llvm.org/D120727#3372594>, @mstorsjo wrote:
> FWIW I think D116689 <https://reviews.llvm.org/D116689> interacts with this > somewhat. I think D116689 <https://reviews.llvm.org/D116689> is useful for > the fixes I want to do wrt libcxxabi integration on Windows (but I haven't > studied it, nor this one, closely yet though). @phosek Do you see anything in > this one that isn't compatible with D116689 > <https://reviews.llvm.org/D116689>? It does interact a lot, in fact. If we land this patch, I suspect that the libc++abi parts of D116689 <https://reviews.llvm.org/D116689> may not be necessary anymore. And I also had a plan (not concrete) to use a similar approach for deciding how the unwind library is picked up, which may be worth exploring. As far as I can tell, the main thing that is nicer with D116689 <https://reviews.llvm.org/D116689>'s approach over this patch is that we can get rid of logic around `"-Wl,-force_load"` for merging the static library into libc++, but I think the approach proposed here would be compatible with that too. The thing I like about this approach is that it simplifies the amount of logic we need by properly encoding dependencies in the `libcxx-abi-shared|static` targets. ================ Comment at: libcxx/src/CMakeLists.txt:233-239 if (APPLE) - target_link_libraries(cxx_shared PRIVATE "-Wl,-force_load" "${LIBCXX_CXX_STATIC_ABI_LIBRARY}") + target_link_libraries(cxx_shared PRIVATE "-Wl,-force_load" "$<TARGET_LINKER_FILE:libcxx-abi-static>") else() - target_link_libraries(cxx_shared PRIVATE "-Wl,--whole-archive,-Bstatic" "${LIBCXX_CXX_STATIC_ABI_LIBRARY}" "-Wl,-Bdynamic,--no-whole-archive") + target_link_libraries(cxx_shared PRIVATE "-Wl,--whole-archive,-Bstatic" "$<TARGET_LINKER_FILE:libcxx-abi-static>" "-Wl,-Bdynamic,--no-whole-archive") endif() else() + target_link_libraries(cxx_shared PUBLIC libcxx-abi-shared) ---------------- This part would become nicer if we had an `OBJECT` library like in D116689. I think this approach does not preclude improving this in the future by using an object library. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120727/new/ https://reviews.llvm.org/D120727 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits