aboutsummaryrefslogtreecommitdiff
path: root/cmake/modules/GetHostTriple.cmake
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-01-24 18:00:44 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-01-24 18:00:44 +0000
commit9136f2112ca67bf360ee64b6546abea9dce0579c (patch)
tree40e64e5280f36a3a6803a02cca0594f023d327d2 /cmake/modules/GetHostTriple.cmake
parent1ac2060678edd88726e06ff19c9468211b41fc37 (diff)
Undo an over zealous rename. This bit of the CMake build really is
dealing in the host triple, be honest about it and document the decision to default the target triple to the host triple unless overridden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148822 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/modules/GetHostTriple.cmake')
-rw-r--r--cmake/modules/GetHostTriple.cmake30
1 files changed, 30 insertions, 0 deletions
diff --git a/cmake/modules/GetHostTriple.cmake b/cmake/modules/GetHostTriple.cmake
new file mode 100644
index 0000000000..671a8ce7d7
--- /dev/null
+++ b/cmake/modules/GetHostTriple.cmake
@@ -0,0 +1,30 @@
+# Returns the host triple.
+# Invokes config.guess
+
+function( get_host_triple var )
+ if( MSVC )
+ if( CMAKE_CL_64 )
+ set( value "x86_64-pc-win32" )
+ else()
+ set( value "i686-pc-win32" )
+ endif()
+ elseif( MINGW AND NOT MSYS )
+ if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ set( value "x86_64-w64-mingw32" )
+ else()
+ set( value "i686-pc-mingw32" )
+ endif()
+ else( MSVC )
+ set(config_guess ${LLVM_MAIN_SRC_DIR}/autoconf/config.guess)
+ execute_process(COMMAND sh ${config_guess}
+ RESULT_VARIABLE TT_RV
+ OUTPUT_VARIABLE TT_OUT
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if( NOT TT_RV EQUAL 0 )
+ message(FATAL_ERROR "Failed to execute ${config_guess}")
+ endif( NOT TT_RV EQUAL 0 )
+ set( value ${TT_OUT} )
+ endif( MSVC )
+ set( ${var} ${value} PARENT_SCOPE )
+ message(STATUS "Target triple: ${value}")
+endfunction( get_host_triple var )