From: Jason Henline Date: Tue, 13 Sep 2016 15:44:18 +0000 (+0000) Subject: [SE] Stop using llvm-config --cxxflags X-Git-Tag: llvmorg-4.0.0-rc1~9934 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=45b467523b34f0ad0fa03bd17a15a294d73ae808;p=platform%2Fupstream%2Fllvm.git [SE] Stop using llvm-config --cxxflags Summary: Build configuration was adding $(llvm-config --cxxflags) to the StreamExecutor CXXFLAGS, but this was causing "-O3" to be passed even for debug builds, and was making debugging difficult. The llvm-config call was originally introduced to handle the -fno-rtti flag because an RTTI StreamExecutor could not link with a no-RTTI LLVM. This patch converts to using LLVM_ENABLE_RTTI and only adding the `-fno-rtti` flag if needed, not all the rest of the LLVM CXXFLAGS. I have tested this with clang-4.0 and gcc-4.8 on Ubuntu. Some work will probably have to be done to support MSVC. Reviewers: jlebar Subscribers: beanz, jprice, parallel_libs-commits, mgorny Differential Revision: https://reviews.llvm.org/D24474 llvm-svn: 281347 --- diff --git a/parallel-libs/streamexecutor/CMakeLists.txt b/parallel-libs/streamexecutor/CMakeLists.txt index c290104..7393415 100644 --- a/parallel-libs/streamexecutor/CMakeLists.txt +++ b/parallel-libs/streamexecutor/CMakeLists.txt @@ -26,17 +26,10 @@ if(STREAM_EXECUTOR_STANDALONE) include_directories(${LLVM_INCLUDE_DIRS}) add_definitions(${LLVM_DEFINITIONS}) - # Get the LLVM cxxflags by using llvm-config. - # - # This is necessary to get -fno-rtti if LLVM is compiled that way. - execute_process( - COMMAND - "${LLVM_BINARY_DIR}/bin/llvm-config" - --cxxflags - OUTPUT_VARIABLE - LLVM_CXXFLAGS - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXXFLAGS}") + # If LLVM does not have RTTI, don't use it here either. + if (NOT LLVM_ENABLE_RTTI) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + endif() set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm") list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")