Skip to content

Commit

Permalink
[CMake][runtimes] Use -nodefaultlibs for the runtimes build
Browse files Browse the repository at this point in the history
We may not have a working C++ standard library at this point so we
shouldn't rely on it when running CMake checks.

Differential Revision: https://reviews.llvm.org/D31942

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300260 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
petrhosek committed Apr 13, 2017
1 parent 1068334 commit ed85367
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion runtimes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
# CMake module path.
list(INSERT CMAKE_MODULE_PATH 0
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules"
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules"
"${LLVM_BINARY_DIR}/lib/cmake/llvm"
)

Expand Down Expand Up @@ -65,10 +65,28 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
set(LLVM_ENABLE_LIBCXX ON CACHE BOOL "")
endif()

set(SAFE_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
set(SAFE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})

include(CheckLibraryExists)
include(CheckCCompilerFlag)

check_library_exists(c fopen "" LLVM_HAS_C_LIB)
check_c_compiler_flag(-nodefaultlibs LLVM_HAS_NODEFAULTLIBS_FLAG)
if(LLVM_HAS_NODEFAULTLIBS_FLAG)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nodefaultlibs")
if(LLVM_HAS_C_LIB)
list(APPEND CMAKE_REQUIRED_LIBRARIES c)
endif()
endif()

# Handle common options used by all runtimes.
include(AddLLVM)
include(HandleLLVMOptions)

set(CMAKE_REQUIRED_FLAGS ${SAFE_CMAKE_REQUIRED_FLAGS})
set(CMAKE_REQUIRED_LIBRARIES ${SAFE_CMAKE_REQUIRED_LIBRARIES})

foreach(entry ${runtimes})
get_filename_component(projName ${entry} NAME)

Expand Down

0 comments on commit ed85367

Please sign in to comment.