diff options
author | 2019-06-17 22:18:29 +0000 | |
---|---|---|
committer | 2019-06-17 22:18:29 +0000 | |
commit | 504b10ec5101b237e4c07e1f2de4b6c48138181e (patch) | |
tree | 979c9ce8ab11efd05e4413305758dc5d6bc76ab4 /lib/libcxx/cmake/Modules | |
parent | A bit more KNF no binary change (diff) | |
download | wireguard-openbsd-504b10ec5101b237e4c07e1f2de4b6c48138181e.tar.xz wireguard-openbsd-504b10ec5101b237e4c07e1f2de4b6c48138181e.zip |
Import libc++ 8.0.0.
Diffstat (limited to 'lib/libcxx/cmake/Modules')
-rw-r--r-- | lib/libcxx/cmake/Modules/HandleCompilerRT.cmake | 3 | ||||
-rw-r--r-- | lib/libcxx/cmake/Modules/HandleLibcxxFlags.cmake | 24 | ||||
-rw-r--r-- | lib/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/lib/libcxx/cmake/Modules/HandleCompilerRT.cmake b/lib/libcxx/cmake/Modules/HandleCompilerRT.cmake index 2e0e69e5e08..1ce25657494 100644 --- a/lib/libcxx/cmake/Modules/HandleCompilerRT.cmake +++ b/lib/libcxx/cmake/Modules/HandleCompilerRT.cmake @@ -8,6 +8,9 @@ function(find_compiler_rt_library name dest) if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_CXX_COMPILER_TARGET) list(APPEND CLANG_COMMAND "--target=${CMAKE_CXX_COMPILER_TARGET}") endif() + get_property(LIBCXX_CXX_FLAGS CACHE CMAKE_CXX_FLAGS PROPERTY VALUE) + string(REPLACE " " ";" LIBCXX_CXX_FLAGS "${LIBCXX_CXX_FLAGS}") + list(APPEND CLANG_COMMAND ${LIBCXX_CXX_FLAGS}) execute_process( COMMAND ${CLANG_COMMAND} RESULT_VARIABLE HAD_ERROR diff --git a/lib/libcxx/cmake/Modules/HandleLibcxxFlags.cmake b/lib/libcxx/cmake/Modules/HandleLibcxxFlags.cmake index 65f7d187f3b..fb60318a330 100644 --- a/lib/libcxx/cmake/Modules/HandleLibcxxFlags.cmake +++ b/lib/libcxx/cmake/Modules/HandleLibcxxFlags.cmake @@ -16,6 +16,7 @@ macro(mangle_name str output) string(REGEX REPLACE "^-+" "" strippedStr "${strippedStr}") string(REGEX REPLACE "-+$" "" strippedStr "${strippedStr}") string(REPLACE "-" "_" strippedStr "${strippedStr}") + string(REPLACE ":" "_COLON_" strippedStr "${strippedStr}") string(REPLACE "=" "_EQ_" strippedStr "${strippedStr}") string(REPLACE "+" "X" strippedStr "${strippedStr}") string(TOUPPER "${strippedStr}" ${output}) @@ -44,6 +45,29 @@ macro(check_flag_supported flag) check_cxx_compiler_flag("${flag}" "LIBCXX_SUPPORTS_${flagname}_FLAG") endmacro() +macro(append_flags DEST) + foreach(value ${ARGN}) + list(APPEND ${DEST} ${value}) + list(APPEND ${DEST} ${value}) + endforeach() +endmacro() + +# If the specified 'condition' is true then append the specified list of flags to DEST +macro(append_flags_if condition DEST) + if (${condition}) + list(APPEND ${DEST} ${ARGN}) + endif() +endmacro() + +# Add each flag in the list specified by DEST if that flag is supported by the current compiler. +macro(append_flags_if_supported DEST) + foreach(flag ${ARGN}) + mangle_name("${flag}" flagname) + check_cxx_compiler_flag("${flag}" "LIBCXX_SUPPORTS_${flagname}_FLAG") + append_flags_if(LIBCXX_SUPPORTS_${flagname}_FLAG ${DEST} ${flag}) + endforeach() +endmacro() + # Add a macro definition if condition is true. macro(define_if condition def) if (${condition}) diff --git a/lib/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake b/lib/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake index 70eed1d70ba..11c13315585 100644 --- a/lib/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake +++ b/lib/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake @@ -116,7 +116,7 @@ macro(configure_out_of_tree_llvm) # Required LIT Configuration ------------------------------------------------ # Define the default arguments to use with 'lit', and an option for the user # to override. - set(LLVM_EXTERNAL_LIT "${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py") + set(LLVM_DEFAULT_EXTERNAL_LIT "${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py") set(LIT_ARGS_DEFAULT "-sv --show-xfail --show-unsupported") if (MSVC OR XCODE) set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar") |