Skip to content

Commit

Permalink
build: update libc++ as there are some bots with integrated build
Browse files Browse the repository at this point in the history
Some of the builders are building with C++ in the unified build.  Merge
this without review to try to restore the builder.
  • Loading branch information
compnerd committed Apr 28, 2020
1 parent 8372582 commit 88af3dd
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 7 deletions.
34 changes: 29 additions & 5 deletions libcxx/CMakeLists.txt
Expand Up @@ -41,11 +41,35 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUIL
endif()

if (LIBCXX_STANDALONE_BUILD)
include(FindPythonInterp)
if( NOT PYTHONINTERP_FOUND )
message(WARNING "Failed to find python interpreter. "
"The libc++ test suite will be disabled.")
set(LLVM_INCLUDE_TESTS OFF)
if(CMAKE_VERSION VERSION_LESS 3.12)
include(FindPythonInterp)
if( NOT PYTHONINTERP_FOUND )
if(LIBCXX_ENABLE_STATIC)
message(FATAL_ERROR "Python is required for building the static library")
endif()
message(WARNING "Failed to find python interpreter. "
"The libc++ test suite will be disabled.")
set(LLVM_INCLUDE_TESTS OFF)
else()
add_executable(Python3::Interpreter IMPORTED)
set_target_properties(Python3::Interpreter PROPERTIES
IMPORTED_LOCATION ${PYTHON_EXECUTABLE})
endif()
else()
find_package(Python3 COMPONENTS Interpreter)
if(NOT Python3_Interpreter_FOUND)
message(WARNING "Python3 not found, using python2 as a fallback")
find_package(Python2 COMPONENTS Interpreter REQUIRED)
if(Python2_VERSION VERSION_LESS 2.7)
message(SEND_ERROR "Python 2.7 or newer is required")
endif()

# Treat python2 as python3
add_executable(Python3::Interpreter IMPORTED)
set_target_properties(Python3::Interpreter PROPERTIES
IMPORTED_LOCATION ${Python2_EXECUTABLE})
set(Python3_EXECUTABLE ${Python2_EXECUTABLE})
endif()
endif()
endif()

Expand Down
2 changes: 1 addition & 1 deletion libcxx/include/CMakeLists.txt
Expand Up @@ -187,7 +187,7 @@ if (LIBCXX_NEEDS_SITE_CONFIG)
# Generate a custom __config header. The new header is created
# by prepending __config_site to the current __config header.
add_custom_command(OUTPUT ${LIBCXX_BINARY_DIR}/__generated_config
COMMAND ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/cat_files.py
COMMAND ${Python3_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/cat_files.py
${LIBCXX_BINARY_DIR}/__config_site
${LIBCXX_SOURCE_DIR}/include/__config
-o ${LIBCXX_BINARY_DIR}/__generated_config
Expand Down
2 changes: 1 addition & 1 deletion libcxx/src/CMakeLists.txt
Expand Up @@ -283,7 +283,7 @@ if (LIBCXX_ENABLE_STATIC)
endif()
add_custom_command(TARGET cxx_static POST_BUILD
COMMAND
${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/merge_archives.py
${Python3_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/merge_archives.py
ARGS
-o $<TARGET_LINKER_FILE:cxx_static>
--ar "${CMAKE_AR}"
Expand Down

0 comments on commit 88af3dd

Please sign in to comment.