diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index b380a48637f..f6eeea9ee60 100755 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -287,15 +287,18 @@ include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-Wno-variadic-macros" SUPPORTS_NO_VARIADIC_MACROS_FLAG) -include(GetTargetTriple) -get_target_triple(LLVM_DEFAULT_TARGET_TRIPLE) +include(GetHostTriple) +get_host_triple(LLVM_HOST_TRIPLE) +# By default, we target the host, but this can be overridden at CMake +# invocation time. +set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_HOST_TRIPLE}") set(TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}") # Determine the native architecture. string(TOLOWER "${LLVM_TARGET_ARCH}" LLVM_NATIVE_ARCH) if( LLVM_NATIVE_ARCH STREQUAL "host" ) - string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_DEFAULT_TARGET_TRIPLE}) + string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_HOST_TRIPLE}) endif () if (LLVM_NATIVE_ARCH MATCHES "i[2-6]86") diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt index 88d985208c7..f51e9af8db0 100644 --- a/cmake/modules/CMakeLists.txt +++ b/cmake/modules/CMakeLists.txt @@ -32,6 +32,6 @@ install(DIRECTORY . PATTERN LLVMConfig.cmake EXCLUDE PATTERN LLVMConfigVersion.cmake EXCLUDE PATTERN LLVM-Config.cmake EXCLUDE - PATTERN GetTargetTriple.cmake EXCLUDE + PATTERN GetHostTriple.cmake EXCLUDE PATTERN VersionFromVCS.cmake EXCLUDE PATTERN CheckAtomic.cmake EXCLUDE) diff --git a/cmake/modules/GetTargetTriple.cmake b/cmake/modules/GetHostTriple.cmake similarity index 92% rename from cmake/modules/GetTargetTriple.cmake rename to cmake/modules/GetHostTriple.cmake index f4321c9b67e..671a8ce7d7c 100644 --- a/cmake/modules/GetTargetTriple.cmake +++ b/cmake/modules/GetHostTriple.cmake @@ -1,7 +1,7 @@ # Returns the host triple. # Invokes config.guess -function( get_target_triple var ) +function( get_host_triple var ) if( MSVC ) if( CMAKE_CL_64 ) set( value "x86_64-pc-win32" ) @@ -27,4 +27,4 @@ function( get_target_triple var ) endif( MSVC ) set( ${var} ${value} PARENT_SCOPE ) message(STATUS "Target triple: ${value}") -endfunction( get_target_triple var ) +endfunction( get_host_triple var )