diff options
-rwxr-xr-x | cmake/config-ix.cmake | 4 | ||||
-rw-r--r-- | cmake/modules/GetTargetTriple.cmake | 19 | ||||
-rw-r--r-- | include/llvm/Config/config.h.cmake | 3 | ||||
-rw-r--r-- | tools/llvm-config/CMakeLists.txt | 15 |
4 files changed, 30 insertions, 11 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 58db002..363975d 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 0000000..c915a9a --- /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 9d0265a..e5f908a 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 0aac393..b5551bb 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) |