forked from OSchip/llvm-project
[runtimes] Check whether -nostdinc++ and -nostdlib++ are supported
Don't blindly assume they're supported - GCC doesn't support -nostdlib++. The llvm-project/runtimes directory is supposed to allow building the runtimes standalone from a newly built Clang, and thus should allow building with other compilers too. Differential Revision: https://reviews.llvm.org/D109719
This commit is contained in:
parent
e248d69036
commit
125e8ef10b
|
@ -87,12 +87,19 @@ endif()
|
|||
|
||||
include(CheckLibraryExists)
|
||||
include(CheckCCompilerFlag)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
# Disable use of the installed C++ standard library when building runtimes. If
|
||||
# MSVC is true, we must be using the clang-cl driver, which doesn't understand
|
||||
# these flags.
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdinc++ -nostdlib++")
|
||||
# Disable use of the installed C++ standard library when building runtimes.
|
||||
# Check for -nostdlib++ first; if there's no C++ standard library yet,
|
||||
# all check_cxx_compiler_flag commands will fail until we add -nostdlib++
|
||||
# (or -nodefaultlibs).
|
||||
check_c_compiler_flag(-nostdlib++ LLVM_RUNTIMES_SUPPORT_NOSTDLIBXX_FLAG)
|
||||
if (LLVM_RUNTIMES_SUPPORT_NOSTDLIBXX_FLAG)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++")
|
||||
endif()
|
||||
check_cxx_compiler_flag(-nostdinc++ LLVM_RUNTIMES_SUPPORT_NOSTDINCXX_FLAG)
|
||||
if (LLVM_RUNTIMES_SUPPORT_NOSTDINCXX_FLAG)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdinc++")
|
||||
endif()
|
||||
|
||||
# Avoid checking whether the compiler is working.
|
||||
|
|
Loading…
Reference in New Issue