Summary: AIX compilers define macros based on the version of the operating system. This patch implements updating of versionless AIX triples to include the host AIX version. Also, the host triple detection in the build system is adjusted to strip the AIX version information so that the run-time detection is preferred. Reviewers: xingxue, stefanp, nemanjai, jasonliu Reviewed By: xingxue Subscribers: mgorny, kristina, jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58798 llvm-svn: 355995
31 lines
976 B
CMake
31 lines
976 B
CMake
# Returns the host triple.
|
|
# Invokes config.guess
|
|
|
|
function( get_host_triple var )
|
|
if( MSVC )
|
|
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
|
set( value "x86_64-pc-windows-msvc" )
|
|
else()
|
|
set( value "i686-pc-windows-msvc" )
|
|
endif()
|
|
elseif( MINGW AND NOT MSYS )
|
|
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
|
set( value "x86_64-w64-windows-gnu" )
|
|
else()
|
|
set( value "i686-pc-windows-gnu" )
|
|
endif()
|
|
else( MSVC )
|
|
set(config_guess ${LLVM_MAIN_SRC_DIR}/cmake/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 )
|
|
# Defer to dynamic detection of the host AIX version.
|
|
string(REGEX REPLACE "-aix[0-9][^-]*" "-aix" value ${TT_OUT})
|
|
endif( MSVC )
|
|
set( ${var} ${value} PARENT_SCOPE )
|
|
endfunction( get_host_triple var )
|