This was previously scattered between the main CMakeLists.txt file and LLDBGenerateConfig.cmake and LLDBConfig.cmake. This caused the some of the code to be executed in incorrect order. Specifically, the check for el_winsertstr was done before libedit_LIBRARIES was computed, and so it always failed on the first run. Moving it the two checks to a central place makes sure this doesn't happen again and improves the overall readability. llvm-svn: 355103
43 lines
1.4 KiB
CMake
43 lines
1.4 KiB
CMake
# This file contains all the logic for running configure-time checks
|
|
|
|
include(CheckSymbolExists)
|
|
include(CheckIncludeFile)
|
|
include(CheckIncludeFiles)
|
|
include(CheckLibraryExists)
|
|
|
|
set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
|
|
check_symbol_exists(ppoll poll.h HAVE_PPOLL)
|
|
set(CMAKE_REQUIRED_DEFINITIONS)
|
|
check_symbol_exists(sigaction signal.h HAVE_SIGACTION)
|
|
check_cxx_symbol_exists(accept4 "sys/socket.h" HAVE_ACCEPT4)
|
|
|
|
check_include_file(termios.h HAVE_TERMIOS_H)
|
|
check_include_files("sys/types.h;sys/event.h" HAVE_SYS_EVENT_H)
|
|
|
|
check_cxx_symbol_exists(process_vm_readv "sys/uio.h" HAVE_PROCESS_VM_READV)
|
|
check_cxx_symbol_exists(__NR_process_vm_readv "sys/syscall.h" HAVE_NR_PROCESS_VM_READV)
|
|
|
|
check_library_exists(compression compression_encode_buffer "" HAVE_LIBCOMPRESSION)
|
|
|
|
# These checks exist in LLVM's configuration, so I want to match the LLVM names
|
|
# so that the check isn't duplicated, but we translate them into the LLDB names
|
|
# so that I don't have to change all the uses at the moment.
|
|
set(LLDB_CONFIG_TERMIOS_SUPPORTED ${HAVE_TERMIOS_H})
|
|
if(NOT UNIX)
|
|
set(LLDB_DISABLE_POSIX 1)
|
|
endif()
|
|
|
|
if(NOT LLDB_CONFIG_HEADER_INPUT)
|
|
set(LLDB_CONFIG_HEADER_INPUT ${LLDB_INCLUDE_ROOT}/lldb/Host/Config.h.cmake)
|
|
endif()
|
|
|
|
if(NOT LLDB_CONFIG_HEADER_OUTPUT)
|
|
set(LLDB_CONFIG_HEADER_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/include/lldb/Host/Config.h)
|
|
endif()
|
|
|
|
# This should be done at the end
|
|
configure_file(
|
|
${LLDB_CONFIG_HEADER_INPUT}
|
|
${LLDB_CONFIG_HEADER_OUTPUT}
|
|
)
|