X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=cmake%2Fconfig-ix.cmake;h=74cd76e5167723cd458ab78f86d9c0ee71919f34;hb=4f2a94439aa72a3ba0b9340f1fe5b1bbff0279c3;hp=abee8b6ee39cb3f1627a244d3291f39122956fb1;hpb=a0a26f222bb4ac0b6cf52fd4bbce6f2ad63a4321;p=oota-llvm.git diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index abee8b6ee39..74cd76e5167 100755 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -79,6 +79,7 @@ check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) check_include_file(mach/mach.h HAVE_MACH_MACH_H) check_include_file(mach-o/dyld.h HAVE_MACH_O_DYLD_H) +check_include_file(histedit.h HAVE_HISTEDIT_H) # size_t must be defined before including cxxabi.h on FreeBSD 10.0. check_cxx_source_compiles(" @@ -110,7 +111,9 @@ if( NOT PURE_WINDOWS ) else() set(HAVE_LIBZ 0) endif() - check_library_exists(edit el_init "" HAVE_LIBEDIT) + if (HAVE_HISTEDIT_H) + check_library_exists(edit el_init "" HAVE_LIBEDIT) + endif() if(LLVM_ENABLE_TERMINFO) set(HAVE_TERMINFO 0) foreach(library tinfo terminfo curses ncurses ncursesw) @@ -134,20 +137,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 ) @@ -159,7 +148,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) @@ -198,7 +187,9 @@ if( PURE_WINDOWS ) check_function_exists(_alloca HAVE__ALLOCA) check_function_exists(__alloca HAVE___ALLOCA) check_function_exists(__chkstk HAVE___CHKSTK) + check_function_exists(__chkstk_ms HAVE___CHKSTK_MS) check_function_exists(___chkstk HAVE____CHKSTK) + check_function_exists(___chkstk_ms HAVE____CHKSTK_MS) check_function_exists(__ashldi3 HAVE___ASHLDI3) check_function_exists(__ashrdi3 HAVE___ASHRDI3) @@ -367,6 +358,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 () @@ -402,12 +397,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) @@ -424,6 +417,24 @@ if( MSVC ) set(SHLIBEXT ".lib") set(stricmp "_stricmp") set(strdup "_strdup") + + # See if the DIA SDK is available and usable. + set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK") + + # Due to a bug in MSVC 2013's installation software, it is possible + # for MSVC 2013 to write the DIA SDK into the Visual Studio 2012 + # install directory. If this happens, the installation is corrupt + # and there's nothing we can do. It happens with enough frequency + # though that we should handle it. We do so by simply checking that + # the DIA SDK folder exists. Should this happen you will need to + # uninstall VS 2012 and then re-install VS 2013. + if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR}) + set(HAVE_DIA_SDK 1) + else() + set(HAVE_DIA_SDK 0) + endif() +else() + set(HAVE_DIA_SDK 0) endif( MSVC ) if( PURE_WINDOWS ) @@ -480,7 +491,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() @@ -517,6 +528,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) @@ -529,10 +548,14 @@ else() if( OCAML_VERSION VERSION_LESS "4.00.0" ) message(STATUS "OCaml bindings disabled, need OCaml >=4.00.0.") else() - message(STATUS "OCaml bindings enabled.") - find_ocamlfind_package(ctypes VERSION 0.3) - find_ocamlfind_package(oUnit VERSION 2 OPTIONAL) - set(LLVM_BINDINGS "${LLVM_BINDINGS} ocaml") + 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.4.") + endif() endif() endif() endif()