[CMake] Temporary workaround to support building builtins on darwin with a toolchain that may not support all x86 and arm architectures.
This is at least a little better than my first attempt. We still really need a way to do compile checks without linking. llvm-svn: 252572
This commit is contained in:
parent
5c1ac90715
commit
7d824da189
|
@ -344,6 +344,24 @@ macro(darwin_add_builtin_libraries)
|
|||
endmacro()
|
||||
|
||||
function(darwin_add_embedded_builtin_libraries)
|
||||
# this is a hacky opt-out. If you can't target both intel and arm
|
||||
# architectures we bail here.
|
||||
set(DARWIN_SOFT_FLOAT_ARCHS armv6m armv7m armv7em armv7)
|
||||
set(DARWIN_HARD_FLOAT_ARCHS armv7em armv7)
|
||||
if(NOT COMPILER_RT_SUPPORTED_ARCH MATCHES ".*armv.*")
|
||||
return()
|
||||
endif()
|
||||
|
||||
list(FIND COMPILER_RT_SUPPORTED_ARCH i386 i386_idx)
|
||||
if(i386_idx GREATER -1)
|
||||
list(APPEND DARWIN_HARD_FLOAT_ARCHS i386)
|
||||
endif()
|
||||
|
||||
list(FIND COMPILER_RT_SUPPORTED_ARCH x86_64 x86_64_idx)
|
||||
if(x86_64_idx GREATER -1)
|
||||
list(APPEND DARWIN_HARD_FLOAT_ARCHS x86_64)
|
||||
endif()
|
||||
|
||||
set(MACHO_SYM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/macho_embedded)
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(type ${CMAKE_CONFIGURATION_TYPES})
|
||||
|
@ -376,9 +394,6 @@ function(darwin_add_embedded_builtin_libraries)
|
|||
set(CFLAGS_armv7m "-target thumbv7-apple-darwin-eabi")
|
||||
set(CFLAGS_i386 "-march=pentium")
|
||||
|
||||
set(DARWIN_SOFT_FLOAT_ARCHS armv6m armv7m armv7em armv7)
|
||||
set(DARWIN_HARD_FLOAT_ARCHS armv7em armv7 i386 x86_64)
|
||||
|
||||
darwin_read_list_from_file(common_FUNCTIONS ${MACHO_SYM_DIR}/common.txt)
|
||||
darwin_read_list_from_file(thumb2_FUNCTIONS ${MACHO_SYM_DIR}/thumb2.txt)
|
||||
darwin_read_list_from_file(thumb2_64_FUNCTIONS ${MACHO_SYM_DIR}/thumb2-64.txt)
|
||||
|
|
Loading…
Reference in New Issue