summaryrefslogtreecommitdiffstats
path: root/cmake/modules
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules')
-rwxr-xr-xcmake/modules/AddLLVM.cmake22
-rw-r--r--cmake/modules/GetTargetTriple.cmake11
-rw-r--r--cmake/modules/LLVMLibDeps.cmake1
3 files changed, 28 insertions, 6 deletions
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index 205ddb7..c0ce897 100755
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -22,6 +22,28 @@ macro(add_llvm_library name)
endmacro(add_llvm_library name)
+macro(add_llvm_loadable_module name)
+ if( NOT LLVM_ON_UNIX )
+ message(STATUS "Loadable modules not supported on this platform.
+${name} ignored.")
+ else()
+ llvm_process_sources( ALL_FILES ${ARGN} )
+ add_library( ${name} MODULE ${ALL_FILES} )
+ set_target_properties( ${name} PROPERTIES PREFIX "" )
+
+ if (APPLE)
+ # Darwin-specific linker flags for loadable modules.
+ set_target_properties(${name} PROPERTIES
+ LINK_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+ endif()
+
+ install(TARGETS ${name}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+ endif()
+endmacro(add_llvm_loadable_module name)
+
+
macro(add_llvm_executable name)
llvm_process_sources( ALL_FILES ${ARGN} )
add_executable(${name} ${ALL_FILES})
diff --git a/cmake/modules/GetTargetTriple.cmake b/cmake/modules/GetTargetTriple.cmake
index 87262ad..ac0c009 100644
--- a/cmake/modules/GetTargetTriple.cmake
+++ b/cmake/modules/GetTargetTriple.cmake
@@ -4,12 +4,12 @@
function( get_target_triple var )
if( MSVC )
if( CMAKE_CL_64 )
- set( ${var} "x86_64-pc-win32" PARENT_SCOPE )
+ set( value "x86_64-pc-win32" )
else()
- set( ${var} "i686-pc-win32" PARENT_SCOPE )
+ set( value "i686-pc-win32" )
endif()
elseif( MINGW AND NOT MSYS )
- set( ${var} "i686-pc-mingw32" PARENT_SCOPE )
+ set( value "i686-pc-mingw32" )
else( MSVC )
set(config_guess ${LLVM_MAIN_SRC_DIR}/autoconf/config.guess)
execute_process(COMMAND sh ${config_guess}
@@ -19,7 +19,8 @@ function( get_target_triple var )
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}}")
+ set( value ${TT_OUT} )
endif( MSVC )
+ set( ${var} ${value} PARENT_SCOPE )
+ message(STATUS "Target triple: ${value}")
endfunction( get_target_triple var )
diff --git a/cmake/modules/LLVMLibDeps.cmake b/cmake/modules/LLVMLibDeps.cmake
index 655e23e..1338d56 100644
--- a/cmake/modules/LLVMLibDeps.cmake
+++ b/cmake/modules/LLVMLibDeps.cmake
@@ -24,7 +24,6 @@ set(MSVC_LIB_DEPS_LLVMCore LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMCppBackend LLVMCore LLVMCppBackendInfo LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMCppBackendInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMExecutionEngine LLVMCore LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMHello LLVMCore LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMInstrumentation LLVMAnalysis LLVMCore LLVMScalarOpts LLVMSupport LLVMSystem LLVMTransformUtils)
set(MSVC_LIB_DEPS_LLVMInterpreter LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMJIT LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMSystem LLVMTarget)
OpenPOWER on IntegriCloud