xref: /aosp_15_r20/external/llvm/cmake/modules/GetHostTriple.cmake (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# Returns the host triple.
2*9880d681SAndroid Build Coastguard Worker# Invokes config.guess
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerfunction( get_host_triple var )
5*9880d681SAndroid Build Coastguard Worker  if( MSVC )
6*9880d681SAndroid Build Coastguard Worker    if( CMAKE_CL_64 )
7*9880d681SAndroid Build Coastguard Worker      set( value "x86_64-pc-win32" )
8*9880d681SAndroid Build Coastguard Worker    else()
9*9880d681SAndroid Build Coastguard Worker      set( value "i686-pc-win32" )
10*9880d681SAndroid Build Coastguard Worker    endif()
11*9880d681SAndroid Build Coastguard Worker  elseif( MINGW AND NOT MSYS )
12*9880d681SAndroid Build Coastguard Worker    if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
13*9880d681SAndroid Build Coastguard Worker      set( value "x86_64-w64-mingw32" )
14*9880d681SAndroid Build Coastguard Worker    else()
15*9880d681SAndroid Build Coastguard Worker      set( value "i686-pc-mingw32" )
16*9880d681SAndroid Build Coastguard Worker    endif()
17*9880d681SAndroid Build Coastguard Worker  else( MSVC )
18*9880d681SAndroid Build Coastguard Worker    set(config_guess ${LLVM_MAIN_SRC_DIR}/cmake/config.guess)
19*9880d681SAndroid Build Coastguard Worker    execute_process(COMMAND sh ${config_guess}
20*9880d681SAndroid Build Coastguard Worker      RESULT_VARIABLE TT_RV
21*9880d681SAndroid Build Coastguard Worker      OUTPUT_VARIABLE TT_OUT
22*9880d681SAndroid Build Coastguard Worker      OUTPUT_STRIP_TRAILING_WHITESPACE)
23*9880d681SAndroid Build Coastguard Worker    if( NOT TT_RV EQUAL 0 )
24*9880d681SAndroid Build Coastguard Worker      message(FATAL_ERROR "Failed to execute ${config_guess}")
25*9880d681SAndroid Build Coastguard Worker    endif( NOT TT_RV EQUAL 0 )
26*9880d681SAndroid Build Coastguard Worker    set( value ${TT_OUT} )
27*9880d681SAndroid Build Coastguard Worker  endif( MSVC )
28*9880d681SAndroid Build Coastguard Worker  set( ${var} ${value} PARENT_SCOPE )
29*9880d681SAndroid Build Coastguard Worker  message(STATUS "Target triple: ${value}")
30*9880d681SAndroid Build Coastguard Workerendfunction( get_host_triple var )
31