[llvm] 785e7f0 - Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 10 02:18:54 PDT 2025


Author: Michael Kruse
Date: 2025-04-10T11:18:51+02:00
New Revision: 785e7f06ddb1ba36aa679d23436726dcf61f8afb

URL: https://github.com/llvm/llvm-project/commit/785e7f06ddb1ba36aa679d23436726dcf61f8afb
DIFF: https://github.com/llvm/llvm-project/commit/785e7f06ddb1ba36aa679d23436726dcf61f8afb.diff

LOG: Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)

The buidbot
[flang-aarch64-libcxx](https://lab.llvm.org/buildbot/#/builders/89) is
currently failing with an ABI issue. The suspected reason is that
LLVMSupport.a is built using libc++, but the unittests are using the
default C++ standard library, libstdc++ in this case. This predefined
`llvm_gtest` target uses the LLVMSupport from `find_package(LLVM)`,
which finds the libc++-built LLVMSupport.

To fix, store the `LLVM_ENABLE_LIBCXX` setting in the LLVMConfig.cmake
such that everything that links to LLVM libraries use the same standard
library. In this case discussed in
https://github.com/llvm/llvm-zorg/pull/387 it was the flang-rt
unittests, but other runtimes with GTest unittests should have the same
issue (e.g. offload), and any external project that uses
`find_package(LLVM)`.

Added: 
    

Modified: 
    llvm/cmake/modules/LLVMConfig.cmake.in

Removed: 
    


################################################################################
diff  --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
index 5ccc66b8039bf..1c34073f6b910 100644
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
@@ -55,6 +55,8 @@ endif()
 
 set(LLVM_ENABLE_RTTI @LLVM_ENABLE_RTTI@)
 
+set(LLVM_ENABLE_LIBCXX @LLVM_ENABLE_LIBCXX@)
+
 set(LLVM_ENABLE_LIBEDIT @HAVE_LIBEDIT@)
 if(LLVM_ENABLE_LIBEDIT)
   find_package(LibEdit)


        


More information about the llvm-commits mailing list