summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rwxr-xr-xcmake/config-ix.cmake5
-rwxr-xr-xcmake/modules/AddLLVM.cmake6
-rwxr-xr-xcmake/modules/AddPartiallyLinkedObject.cmake12
-rwxr-xr-xcmake/modules/LLVMConfig.cmake54
4 files changed, 43 insertions, 34 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index 0c903a1..c18ac44 100755
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -1,6 +1,7 @@
# include checks
include(CheckIncludeFile)
+check_include_file(alloca.h HAVE_ALLOCA_H)
check_include_file(argz.h HAVE_ARGZ_H)
check_include_file(assert.h HAVE_ASSERT_H)
check_include_file(dirent.h HAVE_DIRENT_H)
@@ -34,6 +35,7 @@ check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H)
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
check_include_file(sys/time.h HAVE_SYS_TIME_H)
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(sys/wait.h HAVE_SYS_WAIT_H)
check_include_file(termios.h HAVE_TERMIOS_H)
check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(utime.h HAVE_UTIME_H)
@@ -47,6 +49,7 @@ check_library_exists(dl dlopen "" HAVE_LIBDL)
# function checks
include(CheckSymbolExists)
include(CheckFunctionExists)
+check_symbol_exists(alloca alloca.h HAVE_ALLOCA)
check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE)
check_symbol_exists(setrlimit sys/resource.h HAVE_SETRLIMIT)
@@ -58,6 +61,8 @@ check_symbol_exists(isnan math.h HAVE_ISNAN_IN_MATH_H)
check_symbol_exists(ceilf math.h HAVE_CEILF)
check_symbol_exists(floorf math.h HAVE_FLOORF)
check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
+check_symbol_exists(malloc_zone_statistics malloc/malloc.h
+ HAVE_MALLOC_ZONE_STATISTICS)
check_symbol_exists(pthread_mutex_lock pthread.h HAVE_PTHREAD_MUTEX_LOCK)
check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL)
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index c531298..a21ed20 100755
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -26,11 +26,11 @@ macro(add_llvm_executable name)
if( LLVM_LINK_COMPONENTS )
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
endif( LLVM_LINK_COMPONENTS )
- if( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
target_link_libraries(${name} ${llvm_libs})
- else( MSVC )
+ else( )
add_dependencies(${name} llvm-config.target)
- endif( MSVC )
+ endif( )
get_system_libs(llvm_system_libs)
if( llvm_system_libs )
target_link_libraries(${name} ${llvm_system_libs})
diff --git a/cmake/modules/AddPartiallyLinkedObject.cmake b/cmake/modules/AddPartiallyLinkedObject.cmake
index c9d96de..d20666d 100755
--- a/cmake/modules/AddPartiallyLinkedObject.cmake
+++ b/cmake/modules/AddPartiallyLinkedObject.cmake
@@ -1,18 +1,18 @@
include(LLVMProcessSources)
macro(target_name_of_partially_linked_object lib var)
- if( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
set(${var} ${lib})
- else( MSVC )
+ else( )
set(${var} ${lib}_pll)
- endif( MSVC )
+ endif( )
endmacro(target_name_of_partially_linked_object lib var)
macro(add_partially_linked_object lib)
- if( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
add_llvm_library( ${lib} ${ARGN})
- else( MSVC )
+ else( )
set(pll ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${lib}.o)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/temp_lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/temp_lib)
@@ -36,7 +36,7 @@ macro(add_partially_linked_object lib)
add_custom_target(${tnplo} ALL DEPENDS ${pll})
set( llvm_libs ${llvm_libs} ${pll} PARENT_SCOPE)
set( llvm_lib_targets ${llvm_lib_targets} ${tnplo} PARENT_SCOPE )
- endif( MSVC )
+ endif( )
install(FILES ${pll}
DESTINATION lib)
endmacro(add_partially_linked_object lib)
diff --git a/cmake/modules/LLVMConfig.cmake b/cmake/modules/LLVMConfig.cmake
index 9776fb0..fd92495 100755
--- a/cmake/modules/LLVMConfig.cmake
+++ b/cmake/modules/LLVMConfig.cmake
@@ -21,36 +21,40 @@ endfunction(get_system_libs)
macro(llvm_config executable)
# extra args is the list of link components.
- if( MSVC )
- msvc_llvm_config(${executable} ${ARGN})
- else( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
+ explicit_llvm_config(${executable} ${ARGN})
+ else( )
nix_llvm_config(${executable} ${ARGN})
- endif( MSVC )
+ endif( )
endmacro(llvm_config)
-function(msvc_llvm_config executable)
+function(explicit_llvm_config executable)
set( link_components ${ARGN} )
- if( CMAKE_CL_64 )
- set(include_lflag "/INCLUDE:")
- else( CMAKE_CL_64 )
- set(include_lflag "/INCLUDE:_")
- endif()
- foreach(c ${link_components})
- if( c STREQUAL "jit" )
- set(lfgs "${lfgs} ${include_lflag}X86TargetMachineModule")
- endif( c STREQUAL "jit" )
- list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
- if( NOT idx LESS 0 )
- set(lfgs "${lfgs} ${include_lflag}${c}TargetMachineModule")
- list(FIND LLVM_ASMPRINTERS_FORCE_LINK ${c} idx)
+
+ set(lfgs)
+ if (MSVC)
+ if( CMAKE_CL_64 )
+ set(include_lflag "/INCLUDE:")
+ else( CMAKE_CL_64 )
+ set(include_lflag "/INCLUDE:_")
+ endif()
+ foreach(c ${link_components})
+ if( c STREQUAL "jit" )
+ set(lfgs "${lfgs} ${include_lflag}X86TargetMachineModule")
+ endif( c STREQUAL "jit" )
+ list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
if( NOT idx LESS 0 )
- set(lfgs "${lfgs} ${include_lflag}${c}AsmPrinterForceLink")
+ set(lfgs "${lfgs} ${include_lflag}${c}TargetMachineModule")
+ list(FIND LLVM_ASMPRINTERS_FORCE_LINK ${c} idx)
+ if( NOT idx LESS 0 )
+ set(lfgs "${lfgs} ${include_lflag}${c}AsmPrinterForceLink")
+ endif()
endif()
- endif()
- endforeach(c)
+ endforeach(c)
+ endif ()
- msvc_map_components_to_libraries(LIBRARIES ${link_components})
+ explicit_map_components_to_libraries(LIBRARIES ${link_components})
target_link_libraries(${executable} ${LIBRARIES})
if( lfgs )
@@ -58,10 +62,10 @@ function(msvc_llvm_config executable)
PROPERTIES
LINK_FLAGS ${lfgs})
endif()
-endfunction(msvc_llvm_config)
+endfunction(explicit_llvm_config)
-function(msvc_map_components_to_libraries out_libs)
+function(explicit_map_components_to_libraries out_libs)
set( link_components ${ARGN} )
foreach(c ${link_components})
# add codegen/asmprinter
@@ -121,7 +125,7 @@ function(msvc_map_components_to_libraries out_libs)
endwhile( ${curr_idx} LESS ${lst_size} )
list(REMOVE_DUPLICATES result)
set(${out_libs} ${result} PARENT_SCOPE)
-endfunction(msvc_map_components_to_libraries)
+endfunction(explicit_map_components_to_libraries)
macro(nix_llvm_config executable)
OpenPOWER on IntegriCloud