From: Oscar Fuentes Date: Sun, 26 Oct 2008 00:47:52 +0000 (+0000) Subject: CMake: GetTargetTriple: new module for determining the target X-Git-Tag: android-x86-6.0-r1~1003^2~25084 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=579e43a44ac118d432cb053470dbb977dfffe9db;p=android-x86%2Fexternal-llvm.git 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 --- diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 58db002d79c..363975d19a3 100755 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -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(strtoll stdlib.h HAVE_STRTOLL) +include(GetTargetTriple) +get_target_triple(LLVM_HOSTTRIPLE) +message(STATUS "LLVM_HOSTTRIPLE: ${LLVM_HOSTTRIPLE}") + if( MINGW ) # tbi: Comprobar que existen las librerias: set(HAVE_LIBIMAGEHLP 1) diff --git a/cmake/modules/GetTargetTriple.cmake b/cmake/modules/GetTargetTriple.cmake new file mode 100644 index 00000000000..c915a9a6ae6 --- /dev/null +++ b/cmake/modules/GetTargetTriple.cmake @@ -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 ) diff --git a/include/llvm/Config/config.h.cmake b/include/llvm/Config/config.h.cmake index 9d0265a5518..e5f908ae08d 100644 --- a/include/llvm/Config/config.h.cmake +++ b/include/llvm/Config/config.h.cmake @@ -440,6 +440,9 @@ /* Installation directory for config files */ #undef LLVM_ETCDIR +/* Host triple we were built on */ +#cmakedefine LLVM_HOSTTRIPLE "${LLVM_HOSTTRIPLE}" + /* Installation directory for include files */ #undef LLVM_INCLUDEDIR diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt index 0aac393b921..b5551bb132e 100644 --- a/tools/llvm-config/CMakeLists.txt +++ b/tools/llvm-config/CMakeLists.txt @@ -29,17 +29,10 @@ set(SHLIBEXT ${LTDL_SHLIB_EXT}) #EXEEXT already set. set(OS "${CMAKE_SYSTEM}") 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) -execute_process(COMMAND sh ${config_guess} - 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}) + +include(GetTargetTriple) +get_target_triple(target) + foreach(c ${LLVM_TARGETS_TO_BUILD}) set(TARGETS_BUILT "${TARGETS_BUILT} ${c}") endforeach(c)