From: Oscar Fuentes Date: Thu, 20 Nov 2008 03:10:17 +0000 (+0000) Subject: CMake: when building shared libraries, use -fPIC for compiling X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=148d245c325d3b1e758e456aece494a5b04308cc;p=oota-llvm.git CMake: when building shared libraries, use -fPIC for compiling partially linked objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59699 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index fd6f73b31cd..5158bfe4c69 100755 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -52,6 +52,9 @@ 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(CheckCXXCompilerFlag) +check_cxx_compiler_flag("-fPIC" SUPPORTS_FPIC_FLAG) + include(GetTargetTriple) get_target_triple(LLVM_HOSTTRIPLE) message(STATUS "LLVM_HOSTTRIPLE: ${LLVM_HOSTTRIPLE}") diff --git a/cmake/modules/AddPartiallyLinkedObject.cmake b/cmake/modules/AddPartiallyLinkedObject.cmake index c23a665956c..e13574ba131 100755 --- a/cmake/modules/AddPartiallyLinkedObject.cmake +++ b/cmake/modules/AddPartiallyLinkedObject.cmake @@ -17,6 +17,9 @@ macro(add_partially_linked_object lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/temp_lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/temp_lib) llvm_process_sources( ALL_FILES ${ARGN} ) + if( BUILD_SHARED_LIBS AND SUPPORTS_FPIC_FLAG ) + add_definitions(-fPIC) + endif() add_library( ${lib} STATIC ${ALL_FILES}) if( LLVM_COMMON_DEPENDS ) add_dependencies( ${lib} ${LLVM_COMMON_DEPENDS} )