CMake: GetTargetTriple: new module for determining the target

triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58176 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Oscar Fuentes 2008-10-26 00:47:52 +00:00
parent 9a20afd700
commit 579e43a44a
4 changed files with 30 additions and 11 deletions

View File

@ -52,6 +52,10 @@ check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
check_symbol_exists(pthread_mutex_lock pthread.h HAVE_PTHREAD_MUTEX_LOCK) check_symbol_exists(pthread_mutex_lock pthread.h HAVE_PTHREAD_MUTEX_LOCK)
check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL) check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL)
include(GetTargetTriple)
get_target_triple(LLVM_HOSTTRIPLE)
message(STATUS "LLVM_HOSTTRIPLE: ${LLVM_HOSTTRIPLE}")
if( MINGW ) if( MINGW )
# tbi: Comprobar que existen las librerias: # tbi: Comprobar que existen las librerias:
set(HAVE_LIBIMAGEHLP 1) set(HAVE_LIBIMAGEHLP 1)

View File

@ -0,0 +1,19 @@
# Returns the host triple.
# Invokes config.guess
function( get_target_triple var )
if( MSVC )
set( ${var} "i686-pc-win32" PARENT_SCOPE )
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( ${var} ${TT_OUT} PARENT_SCOPE )
message(STATUS "Target triple: ${${var}}")
endif( MSVC )
endfunction( get_target_triple var )

View File

@ -440,6 +440,9 @@
/* Installation directory for config files */ /* Installation directory for config files */
#undef LLVM_ETCDIR #undef LLVM_ETCDIR
/* Host triple we were built on */
#cmakedefine LLVM_HOSTTRIPLE "${LLVM_HOSTTRIPLE}"
/* Installation directory for include files */ /* Installation directory for include files */
#undef LLVM_INCLUDEDIR #undef LLVM_INCLUDEDIR

View File

@ -29,17 +29,10 @@ set(SHLIBEXT ${LTDL_SHLIB_EXT})
#EXEEXT already set. #EXEEXT already set.
set(OS "${CMAKE_SYSTEM}") set(OS "${CMAKE_SYSTEM}")
set(ARCH "X86") # TODO: This gives "i686" in Linux: "${CMAKE_SYSTEM_PROCESSOR}") set(ARCH "X86") # TODO: This gives "i686" in Linux: "${CMAKE_SYSTEM_PROCESSOR}")
# TODO: avoid using autoconf:
set(config_guess ${LLVM_MAIN_SRC_DIR}/autoconf/config.guess) include(GetTargetTriple)
execute_process(COMMAND sh ${config_guess} get_target_triple(target)
RESULT_VARIABLE TT_RV
OUTPUT_VARIABLE LLVM_TARGET_TRIPLET
OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "Target triplet: ${LLVM_TARGET_TRIPLET}")
if( NOT TT_RV EQUAL 0 )
message(FATAL_ERROR "Failed to execute ${config_guess}")
endif( NOT TT_RV EQUAL 0 )
set(target ${LLVM_TARGET_TRIPLET})
foreach(c ${LLVM_TARGETS_TO_BUILD}) foreach(c ${LLVM_TARGETS_TO_BUILD})
set(TARGETS_BUILT "${TARGETS_BUILT} ${c}") set(TARGETS_BUILT "${TARGETS_BUILT} ${c}")
endforeach(c) endforeach(c)