summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2008-11-20 03:10:17 +0000
committerOscar Fuentes <ofv@wanadoo.es>2008-11-20 03:10:17 +0000
commit148d245c325d3b1e758e456aece494a5b04308cc (patch)
treee9659aa949dff3cbd5f7bc3db8d8e513313219b4 /cmake
parent6be2ee431f44e3eb4d87bb3779a7e97a766c7a3e (diff)
downloadllvm-148d245c325d3b1e758e456aece494a5b04308cc.tar.gz
llvm-148d245c325d3b1e758e456aece494a5b04308cc.tar.bz2
llvm-148d245c325d3b1e758e456aece494a5b04308cc.tar.xz
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
Diffstat (limited to 'cmake')
-rwxr-xr-xcmake/config-ix.cmake3
-rwxr-xr-xcmake/modules/AddPartiallyLinkedObject.cmake3
2 files changed, 6 insertions, 0 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index fd6f73b31c..5158bfe4c6 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 c23a665956..e13574ba13 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} )