include(CheckCXXSourceCompiles)
include(TestBigEndian)
+include(HandleLLVMStdlib)
+
if( UNIX AND NOT BEOS )
# Used by check_symbol_exists:
set(CMAKE_REQUIRED_LIBRARIES m)
if( NOT PURE_WINDOWS )
check_include_file(pthread.h HAVE_PTHREAD_H)
endif()
-check_include_file(sanitizer/msan_interface.h HAVE_SANITIZER_MSAN_INTERFACE_H)
check_include_file(signal.h HAVE_SIGNAL_H)
check_include_file(stdint.h HAVE_STDINT_H)
check_include_file(sys/dir.h HAVE_SYS_DIR_H)
else()
set(HAVE_LIBZ 0)
endif()
+ check_library_exists(edit el_init "" HAVE_LIBEDIT)
if(LLVM_ENABLE_TERMINFO)
set(HAVE_TERMINFO 0)
foreach(library tinfo terminfo curses ncurses ncursesw)
endif()
# function checks
-check_symbol_exists(arc4random "stdlib.h" HAVE_ARC4RANDOM)
+check_symbol_exists(arc4random "stdlib.h" HAVE_DECL_ARC4RANDOM)
check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE)
check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE)
find_package(LibXml2)
if (LIBXML2_FOUND)
set(CLANG_HAVE_LIBXML 1)
+ # When cross-compiling, liblzma is not detected as a dependency for libxml2,
+ # which makes linking c-index-test fail. But for native builds, all libraries
+ # are installed and checked by CMake before Makefiles are generated and everything
+ # works according to the plan. However, if a -llzma is added to native builds,
+ # an additional requirement on the static liblzma.a is required, but will not
+ # be checked by CMake, breaking native compilation.
+ # Since this is only pertinent to cross-compilations, and there's no way CMake
+ # can check for every foreign library on every OS, we add the dep and warn the dev.
+ if ( CMAKE_CROSSCOMPILING )
+ if (NOT PC_LIBXML_VERSION VERSION_LESS "2.8.0")
+ message(STATUS "Adding LZMA as a dep to XML2 for cross-compilation, make sure liblzma.a is available.")
+ set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} "-llzma")
+ endif ()
+ endif ()
endif ()
-include(CheckCXXCompilerFlag)
-
check_cxx_compiler_flag("-Wno-variadic-macros" SUPPORTS_NO_VARIADIC_MACROS_FLAG)
set(USE_NO_MAYBE_UNINITIALIZED 0)
set(LLVM_NATIVE_ARCH PowerPC)
elseif (LLVM_NATIVE_ARCH MATCHES "aarch64")
set(LLVM_NATIVE_ARCH AArch64)
+elseif (LLVM_NATIVE_ARCH MATCHES "arm64")
+ set(LLVM_NATIVE_ARCH ARM64)
elseif (LLVM_NATIVE_ARCH MATCHES "arm")
set(LLVM_NATIVE_ARCH ARM)
elseif (LLVM_NATIVE_ARCH MATCHES "mips")
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)
if (LLVM_BUILD_DOCS)
add_custom_target(doxygen ALL)
endif()
+
+ 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_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings")
+ endif()
endif()
else()
message(STATUS "Doxygen disabled.")