diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 961ab19d..2e894aec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,9 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cxx_flags_override.cmake") project(KLEE CXX C) +include(CheckFunctionExists) +include(CheckLibraryExists) + ############################################################################### # Project version ############################################################################### @@ -429,15 +432,19 @@ endif() ################################################################################ # Detect libutil ################################################################################ -check_include_file("pty.h" HAVE_PTY_H) -if (HAVE_PTY_H) - find_library(LIBUTIL_LIBRARIES - NAMES util - DOC "libutil library. Typically part of glibc") - if (NOT LIBUTIL_LIBRARIES) - message(FATAL_ERROR "Found \"pty.h\" but could not find libutil") - endif() -endif() +check_include_file(pty.h HAVE_PTY_H) +check_include_file(util.h HAVE_UTIL_H) +if (HAVE_PTY_H OR HAVE_UTIL_H) + check_function_exists(openpty openpty_in_libc) + if (NOT openpty_in_libc) + check_library_exists(util openpty "" openpty_in_libutil) + if (openpty_in_libutil) + set(LIBUTIL_LIBRARIES util) + else () + message(FATAL_ERROR "Could not find libutil") + endif (openpty_in_libutil) + endif (NOT openpty_in_libc) +endif (HAVE_PTY_H OR HAVE_UTIL_H) ################################################################################ # Miscellaneous header file detection @@ -446,6 +453,8 @@ check_cxx_symbol_exists(__ctype_b_loc ctype.h HAVE_CTYPE_EXTERNALS) check_cxx_symbol_exists(mallinfo malloc.h HAVE_MALLINFO) check_cxx_symbol_exists(malloc_zone_statistics malloc/malloc.h HAVE_MALLOC_ZONE_STATISTICS) +check_include_file(sys/statfs.h HAVE_SYSSTATFS_H) + # FIXME: This is needed by the runtime not KLEE itself so we are testing the wrong # compiler. check_include_file("selinux/selinux.h" HAVE_SELINUX_SELINUX_H) |