X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=cmake%2Fconfig-ix.cmake;h=f699211bd5b4cdd1fd5069b0830d3b697c5bec4a;hb=9a17b124c523f1503b14bd58aa44ef0bbae9e24d;hp=55727a85f37d60c4a5cbbd17941ab0f53c8b2d4f;hpb=e20fe230bd1deb88fccc623cf3c2bb658f51e37b;p=oota-llvm.git diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 55727a85f37..f699211bd5b 100755 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -67,7 +67,6 @@ 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/uio.h HAVE_SYS_UIO_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) @@ -106,6 +105,12 @@ if( NOT PURE_WINDOWS ) endif() check_library_exists(dl dlopen "" HAVE_LIBDL) check_library_exists(rt clock_gettime "" HAVE_LIBRT) +endif() + +# Don't look for these libraries on Windows. Also don't look for them if we're +# using MSan, since uninstrmented third party code may call MSan interceptors +# like strlen, leading to false positives. +if( NOT PURE_WINDOWS AND NOT LLVM_USE_SANITIZER MATCHES "Memory.*") if (LLVM_ENABLE_ZLIB) check_library_exists(z compress2 "" HAVE_LIBZ) else() @@ -137,20 +142,6 @@ 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) check_symbol_exists(isatty unistd.h HAVE_ISATTY) -check_symbol_exists(isinf cmath HAVE_ISINF_IN_CMATH) -check_symbol_exists(isinf math.h HAVE_ISINF_IN_MATH_H) -check_symbol_exists(finite ieeefp.h HAVE_FINITE_IN_IEEEFP_H) -check_symbol_exists(isnan cmath HAVE_ISNAN_IN_CMATH) -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(fmodf math.h HAVE_FMODF) -check_symbol_exists(log math.h HAVE_LOG) -check_symbol_exists(log2 math.h HAVE_LOG2) -check_symbol_exists(log10 math.h HAVE_LOG10) -check_symbol_exists(exp math.h HAVE_EXP) -check_symbol_exists(exp2 math.h HAVE_EXP2) -check_symbol_exists(exp10 math.h HAVE_EXP10) check_symbol_exists(futimens sys/stat.h HAVE_FUTIMENS) check_symbol_exists(futimes sys/time.h HAVE_FUTIMES) if( HAVE_SETJMP_H ) @@ -162,7 +153,7 @@ endif() if( HAVE_SYS_UIO_H ) check_symbol_exists(writev sys/uio.h HAVE_WRITEV) endif() -check_symbol_exists(nearbyintf math.h HAVE_NEARBYINTF) +check_symbol_exists(mallctl malloc_np.h HAVE_MALLCTL) check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO) check_symbol_exists(malloc_zone_statistics malloc/malloc.h HAVE_MALLOC_ZONE_STATISTICS) @@ -308,6 +299,10 @@ if( LLVM_ENABLE_PIC ) set(ENABLE_PIC 1) else() set(ENABLE_PIC 0) + check_cxx_compiler_flag("-fno-pie" SUPPORTS_NO_PIE_FLAG) + if(SUPPORTS_NO_PIE_FLAG) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie") + endif() endif() check_cxx_compiler_flag("-Wno-variadic-macros" SUPPORTS_NO_VARIADIC_MACROS_FLAG) @@ -372,6 +367,10 @@ elseif (LLVM_NATIVE_ARCH MATCHES "hexagon") set(LLVM_NATIVE_ARCH Hexagon) elseif (LLVM_NATIVE_ARCH MATCHES "s390x") set(LLVM_NATIVE_ARCH SystemZ) +elseif (LLVM_NATIVE_ARCH MATCHES "wasm32") + set(LLVM_NATIVE_ARCH WebAssembly) +elseif (LLVM_NATIVE_ARCH MATCHES "wasm64") + set(LLVM_NATIVE_ARCH WebAssembly) else () message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}") endif () @@ -407,12 +406,10 @@ else () endif () if( MINGW ) - set(HAVE_LIBIMAGEHLP 1) set(HAVE_LIBPSAPI 1) set(HAVE_LIBSHELL32 1) # TODO: Check existence of libraries. # include(CheckLibraryExists) - # CHECK_LIBRARY_EXISTS(imagehlp ??? . HAVE_LIBIMAGEHLP) endif( MINGW ) if (NOT HAVE_STRTOLL) @@ -445,6 +442,8 @@ if( MSVC ) else() set(HAVE_DIA_SDK 0) endif() +else() + set(HAVE_DIA_SDK 0) endif( MSVC ) if( PURE_WINDOWS ) @@ -501,7 +500,7 @@ if (LLVM_ENABLE_DOXYGEN) option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF) if (LLVM_DOXYGEN_EXTERNAL_SEARCH) - set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external searhc.") + set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.") set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings") endif() endif() @@ -538,6 +537,14 @@ else() endif() endif() +find_program(GOLD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.gold ld.gold ${LLVM_DEFAULT_TARGET_TRIPLE}-ld ld DOC "The gold linker") +set(LLVM_BINUTILS_INCDIR "" CACHE PATH + "PATH to binutils/include containing plugin-api.h for gold plugin.") + +if(APPLE) + find_program(LD64_EXECUTABLE NAMES ld DOC "The ld64 linker") +endif() + include(FindOCaml) include(AddOCaml) if(WIN32) @@ -550,13 +557,13 @@ else() if( OCAML_VERSION VERSION_LESS "4.00.0" ) message(STATUS "OCaml bindings disabled, need OCaml >=4.00.0.") else() - find_ocamlfind_package(ctypes VERSION 0.3 OPTIONAL) + find_ocamlfind_package(ctypes VERSION 0.4 OPTIONAL) if( HAVE_OCAML_CTYPES ) message(STATUS "OCaml bindings enabled.") find_ocamlfind_package(oUnit VERSION 2 OPTIONAL) set(LLVM_BINDINGS "${LLVM_BINDINGS} ocaml") else() - message(STATUS "OCaml bindings disabled, need ctypes >=0.3.") + message(STATUS "OCaml bindings disabled, need ctypes >=0.4.") endif() endif() endif()