diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-13 20:02:03 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-13 20:02:03 +0000 |
| commit | fc411a9eb44c912f867b49a08d4ea98be89681d9 (patch) | |
| tree | 83d2530c824b866f040519d74b68316c571e0986 /cmake | |
| parent | 4e3a0d5a8f750527f2f433019967f8f8214c558a (diff) | |
Notes
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/Modules/CompilerRTDarwinUtils.cmake | 3 | ||||
| -rw-r--r-- | cmake/config-ix.cmake | 155 |
2 files changed, 105 insertions, 53 deletions
diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake index 511361b49a7a..8be28d9a8aa9 100644 --- a/cmake/Modules/CompilerRTDarwinUtils.cmake +++ b/cmake/Modules/CompilerRTDarwinUtils.cmake @@ -282,7 +282,8 @@ macro(darwin_add_builtin_libraries) set(PROFILE_SOURCES ../profile/InstrProfiling ../profile/InstrProfilingBuffer - ../profile/InstrProfilingPlatformDarwin) + ../profile/InstrProfilingPlatformDarwin + ../profile/InstrProfilingWriter) foreach (os ${ARGN}) list_union(DARWIN_BUILTIN_ARCHS DARWIN_${os}_ARCHS BUILTIN_SUPPORTED_ARCH) foreach (arch ${DARWIN_BUILTIN_ARCHS}) diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index ba21238623a5..057642b05bdd 100644 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -150,6 +150,8 @@ macro(detect_target_arch) check_symbol_exists(__i386__ "" __I386) check_symbol_exists(__mips__ "" __MIPS) check_symbol_exists(__mips64__ "" __MIPS64) + check_symbol_exists(__wasm32__ "" __WEBASSEMBLY32) + check_symbol_exists(__wasm64__ "" __WEBASSEMBLY64) if(__ARM) add_default_target_arch(arm) elseif(__AARCH64) @@ -164,6 +166,10 @@ macro(detect_target_arch) add_default_target_arch(mips64) elseif(__MIPS) add_default_target_arch(mips) + elseif(__WEBASSEMBLY32) + add_default_target_arch(wasm32) + elseif(__WEBASSEMBLY64) + add_default_target_arch(wasm64) endif() endmacro() @@ -220,6 +226,10 @@ elseif(NOT APPLE) # Supported archs for Apple platforms are generated later test_target_arch(aarch32 "" "-march=armv8-a") elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64") test_target_arch(aarch64 "" "-march=armv8-a") + elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32") + test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown") + elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64") + test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown") endif() set(COMPILER_RT_OS_SUFFIX "") endif() @@ -260,6 +270,8 @@ set(X86_64 x86_64) set(MIPS32 mips mipsel) set(MIPS64 mips64 mips64el) set(PPC64 powerpc64 powerpc64le) +set(WASM32 wasm32) +set(WASM64 wasm64) if(APPLE) set(ARM64 arm64) @@ -268,7 +280,7 @@ if(APPLE) endif() set(ALL_BUILTIN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} - ${MIPS32} ${MIPS64}) + ${MIPS32} ${MIPS64} ${WASM32} ${WASM64}) set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64}) set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} @@ -299,10 +311,44 @@ if(APPLE) endif() option(COMPILER_RT_ENABLE_IOS "Enable building for iOS - Experimental" Off) + option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off) + option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off) find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx) find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator) find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos) + find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator) + find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos) + find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator) + find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos) + + if(COMPILER_RT_ENABLE_IOS) + list(APPEND DARWIN_EMBEDDED_PLATFORMS ios) + set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min) + set(DARWIN_ios_SANITIZER_MIN_VER_FLAG + ${DARWIN_ios_MIN_VER_FLAG}=7.0) + set(DARWIN_ios_BUILTIN_MIN_VER 6.0) + set(DARWIN_ios_BUILTIN_MIN_VER_FLAG + ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER}) + endif() + if(COMPILER_RT_ENABLE_WATCHOS) + list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos) + set(DARWIN_watchos_MIN_VER_FLAG -mwatchos-version-min) + set(DARWIN_watchos_SANITIZER_MIN_VER_FLAG + ${DARWIN_watchos_MIN_VER_FLAG}=2.0) + set(DARWIN_watchos_BUILTIN_MIN_VER 2.0) + set(DARWIN_watchos_BUILTIN_MIN_VER_FLAG + ${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_BUILTIN_MIN_VER}) + endif() + if(COMPILER_RT_ENABLE_TVOS) + list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos) + set(DARWIN_tvos_MIN_VER_FLAG -mtvos-version-min) + set(DARWIN_tvos_SANITIZER_MIN_VER_FLAG + ${DARWIN_tvos_MIN_VER_FLAG}=9.0) + set(DARWIN_tvos_BUILTIN_MIN_VER 9.0) + set(DARWIN_tvos_BUILTIN_MIN_VER_FLAG + ${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_BUILTIN_MIN_VER}) + endif() # Note: In order to target x86_64h on OS X the minimum deployment target must # be 10.8 or higher. @@ -334,6 +380,11 @@ if(APPLE) -lc++ -lc++abi) + check_linker_flag("-fapplication-extension" COMPILER_RT_HAS_APP_EXTENSION) + if(COMPILER_RT_HAS_APP_EXTENSION) + list(APPEND DARWIN_COMMON_LINKFLAGS "-fapplication-extension") + endif() + set(DARWIN_osx_CFLAGS ${DARWIN_COMMON_CFLAGS} -mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION}) @@ -379,62 +430,62 @@ if(APPLE) list(APPEND BUILTIN_SUPPORTED_OS 10.4) endif() - if(DARWIN_iossim_SYSROOT) - set(DARWIN_iossim_CFLAGS - ${DARWIN_COMMON_CFLAGS} - -mios-simulator-version-min=7.0 - -isysroot ${DARWIN_iossim_SYSROOT}) - set(DARWIN_iossim_LINKFLAGS - ${DARWIN_COMMON_LINKFLAGS} - -mios-simulator-version-min=7.0 - -isysroot ${DARWIN_iossim_SYSROOT}) - set(DARWIN_iossim_BUILTIN_MIN_VER 6.0) - set(DARWIN_iossim_BUILTIN_MIN_VER_FLAG - -mios-simulator-version-min=${DARWIN_iossim_BUILTIN_MIN_VER}) + foreach(platform ${DARWIN_EMBEDDED_PLATFORMS}) + if(DARWIN_${platform}sim_SYSROOT) + set(DARWIN_${platform}sim_CFLAGS + ${DARWIN_COMMON_CFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_iossim_SYSROOT}) + set(DARWIN_${platform}sim_LINKFLAGS + ${DARWIN_COMMON_LINKFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_${platform}sim_SYSROOT}) + set(DARWIN_${platform}sim_BUILTIN_MIN_VER + ${DARWIN_${platform}_BUILTIN_MIN_VER}) + set(DARWIN_${platform}sim_BUILTIN_MIN_VER_FLAG + ${DARWIN_${platform}_BUILTIN_MIN_VER_FLAG}) - set(DARWIN_iossim_SKIP_CC_KEXT On) - darwin_test_archs(iossim - DARWIN_iossim_ARCHS - ${toolchain_arches}) - message(STATUS "iOS Simulator supported arches: ${DARWIN_iossim_ARCHS}") - if(DARWIN_iossim_ARCHS) - list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim) - list(APPEND BUILTIN_SUPPORTED_OS iossim) - list(APPEND PROFILE_SUPPORTED_OS iossim) + set(DARWIN_${platform}sim_SKIP_CC_KEXT On) + darwin_test_archs(${platform}sim + DARWIN_${platform}sim_ARCHS + ${toolchain_arches}) + message(STATUS "${platform} Simulator supported arches: ${DARWIN_${platform}sim_ARCHS}") + if(DARWIN_iossim_ARCHS) + list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform}sim) + list(APPEND BUILTIN_SUPPORTED_OS ${platform}sim) + list(APPEND PROFILE_SUPPORTED_OS ${platform}sim) + endif() + foreach(arch ${DARWIN_${platform}sim_ARCHS}) + list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) + set(CAN_TARGET_${arch} 1) + endforeach() endif() - foreach(arch ${DARWIN_iossim_ARCHS}) - list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) - set(CAN_TARGET_${arch} 1) - endforeach() - endif() - if(DARWIN_ios_SYSROOT AND COMPILER_RT_ENABLE_IOS) - set(DARWIN_ios_CFLAGS - ${DARWIN_COMMON_CFLAGS} - -miphoneos-version-min=7.0 - -isysroot ${DARWIN_ios_SYSROOT}) - set(DARWIN_ios_LINKFLAGS - ${DARWIN_COMMON_LINKFLAGS} - -miphoneos-version-min=7.0 - -isysroot ${DARWIN_ios_SYSROOT}) - set(DARWIN_ios_BUILTIN_MIN_VER 6.0) - set(DARWIN_ios_BUILTIN_MIN_VER_FLAG - -miphoneos-version-min=${DARWIN_ios_BUILTIN_MIN_VER}) + if(DARWIN_${platform}_SYSROOT) + set(DARWIN_${platform}_CFLAGS + ${DARWIN_COMMON_CFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_${platform}_SYSROOT}) + set(DARWIN_${platform}_LINKFLAGS + ${DARWIN_COMMON_LINKFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_${platform}_SYSROOT}) - darwin_test_archs(ios - DARWIN_ios_ARCHS - ${toolchain_arches}) - message(STATUS "iOS supported arches: ${DARWIN_ios_ARCHS}") - if(DARWIN_ios_ARCHS) - list(APPEND SANITIZER_COMMON_SUPPORTED_OS ios) - list(APPEND BUILTIN_SUPPORTED_OS ios) - list(APPEND PROFILE_SUPPORTED_OS ios) + darwin_test_archs(${platform} + DARWIN_${platform}_ARCHS + ${toolchain_arches}) + message(STATUS "${platform} supported arches: ${DARWIN_${platform}_ARCHS}") + if(DARWIN_${platform}_ARCHS) + list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform}) + list(APPEND BUILTIN_SUPPORTED_OS ${platform}) + list(APPEND PROFILE_SUPPORTED_OS ${platform}) + endif() + foreach(arch ${DARWIN_${platform}_ARCHS}) + list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) + set(CAN_TARGET_${arch} 1) + endforeach() endif() - foreach(arch ${DARWIN_ios_ARCHS}) - list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) - set(CAN_TARGET_${arch} 1) - endforeach() - endif() + endforeach() endif() # for list_union |
