summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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} )