Revert "[runtimes] Use standalone build only for compiler-rt"
This reverts commit 4e421b2323 as this
seemed to have broke Python 3 executable detection on some builders.
			
			
This commit is contained in:
		
							parent
							
								
									1d1983f2d0
								
							
						
					
					
						commit
						b3ac90da1d
					
				| 
						 | 
					@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.13.4)
 | 
				
			||||||
project(custom-libcxx C CXX)
 | 
					project(custom-libcxx C CXX)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build static libcxxabi.
 | 
					# Build static libcxxabi.
 | 
				
			||||||
 | 
					set(LIBCXXABI_STANDALONE_BUILD 1)
 | 
				
			||||||
set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
 | 
					set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
 | 
				
			||||||
set(LIBCXXABI_ENABLE_EXCEPTIONS ON CACHE BOOL "")
 | 
					set(LIBCXXABI_ENABLE_EXCEPTIONS ON CACHE BOOL "")
 | 
				
			||||||
set(LIBCXXABI_HERMETIC_STATIC_LIBRARY ON CACHE STRING "")
 | 
					set(LIBCXXABI_HERMETIC_STATIC_LIBRARY ON CACHE STRING "")
 | 
				
			||||||
| 
						 | 
					@ -10,6 +11,7 @@ set(LIBCXXABI_INCLUDE_TESTS OFF CACHE BOOL "")
 | 
				
			||||||
add_subdirectory(${COMPILER_RT_LIBCXXABI_PATH} ${CMAKE_CURRENT_BINARY_DIR}/cxxabi)
 | 
					add_subdirectory(${COMPILER_RT_LIBCXXABI_PATH} ${CMAKE_CURRENT_BINARY_DIR}/cxxabi)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build static libcxx without exceptions.
 | 
					# Build static libcxx without exceptions.
 | 
				
			||||||
 | 
					set(LIBCXX_STANDALONE_BUILD 1)
 | 
				
			||||||
set(LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY OFF CACHE BOOL "")
 | 
					set(LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY OFF CACHE BOOL "")
 | 
				
			||||||
set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
 | 
					set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
 | 
				
			||||||
set(LIBCXX_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
 | 
					set(LIBCXX_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,6 +82,10 @@ include(CheckCCompilerFlag)
 | 
				
			||||||
# these flags.
 | 
					# these flags.
 | 
				
			||||||
if (NOT MSVC)
 | 
					if (NOT MSVC)
 | 
				
			||||||
  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdinc++ -nostdlib++")
 | 
					  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdinc++ -nostdlib++")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (LLVM_EXTERNAL_LIBCXX_SOURCE_DIR AND "libcxx" IN_LIST LLVM_ENABLE_RUNTIMES)
 | 
				
			||||||
 | 
					    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -isystem ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR}/include")
 | 
				
			||||||
 | 
					  endif()
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Avoid checking whether the compiler is working.
 | 
					# Avoid checking whether the compiler is working.
 | 
				
			||||||
| 
						 | 
					@ -92,6 +96,9 @@ include(AddLLVM)
 | 
				
			||||||
include(HandleLLVMOptions)
 | 
					include(HandleLLVMOptions)
 | 
				
			||||||
include(FindPythonInterp)
 | 
					include(FindPythonInterp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Remove the -nostdlib++ option we've added earlier.
 | 
				
			||||||
 | 
					string(REPLACE "-nostdlib++" "" CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Use libtool instead of ar if you are both on an Apple host, and targeting Apple.
 | 
					# Use libtool instead of ar if you are both on an Apple host, and targeting Apple.
 | 
				
			||||||
if(CMAKE_HOST_APPLE AND APPLE)
 | 
					if(CMAKE_HOST_APPLE AND APPLE)
 | 
				
			||||||
  include(UseLibtool)
 | 
					  include(UseLibtool)
 | 
				
			||||||
| 
						 | 
					@ -107,11 +114,12 @@ foreach(entry ${runtimes})
 | 
				
			||||||
  string(REPLACE "-" "_" canon_name ${projName})
 | 
					  string(REPLACE "-" "_" canon_name ${projName})
 | 
				
			||||||
  string(TOUPPER ${canon_name} canon_name)
 | 
					  string(TOUPPER ${canon_name} canon_name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # TODO: compiler-rt has to use standalone build for now. We tried to remove
 | 
					  # The subdirectories need to treat this as standalone builds. D57992 tried
 | 
				
			||||||
  # this in D57992 but this broke the build because compiler-rt assumes that
 | 
					  # to get rid of this, but the runtimes treat *_STANDALONE_BUILD=OFF as if
 | 
				
			||||||
  # LLVM and Clang are configured in the same build to set up dependencies. We
 | 
					  # llvm & clang are configured in the same CMake, and setup dependencies
 | 
				
			||||||
  # should clean up the compiler-rt build and remove this eventually.
 | 
					  # against their targets. OpenMP has fixed the issue so we don't set the
 | 
				
			||||||
  if ("${canon_name}" STREQUAL "COMPILER_RT")
 | 
					  # variable.
 | 
				
			||||||
 | 
					  if (NOT ${canon_name} STREQUAL "OPENMP")
 | 
				
			||||||
    set(${canon_name}_STANDALONE_BUILD ON)
 | 
					    set(${canon_name}_STANDALONE_BUILD ON)
 | 
				
			||||||
  endif()
 | 
					  endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue