From: Tim Kientzle Date: Fri, 7 Aug 2009 04:42:18 +0000 (-0400) Subject: Prefer the standard CHECK_INCLUDE_FILE() and CHECK_INCLUDE_FILES(), X-Git-Tag: v2.8.0~436 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72f559e73d84c0f1e336af3cb61583e4c93db94e;p=thirdparty%2Flibarchive.git Prefer the standard CHECK_INCLUDE_FILE() and CHECK_INCLUDE_FILES(), refactor some of the header checks that rely on other headers. SVN-Revision: 1352 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index d388955de..484025a21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,10 +49,10 @@ ENDIF(WIN32 AND NOT CYGWIN) INCLUDE(CheckCSourceRuns) INCLUDE(CheckFileOffsetBits) INCLUDE(CheckFuncs) -INCLUDE(CheckHeaders) INCLUDE(CheckHeaderDirent) INCLUDE(CheckHeaderSTDC) INCLUDE(CheckIncludeFile) +INCLUDE(CheckIncludeFiles) INCLUDE(CheckLibraryExists) INCLUDE(CheckStructMember) INCLUDE(CheckSymbolExists) @@ -181,25 +181,62 @@ ENDIF(LZMA_FOUND) # CHECK_HEADER_STDC() CHECK_HEADER_DIRENT() -# TODO : AC_HEADER_SYS_WAIT -CHECK_INCLUDE_FILE(sys/wait.h HAVE_SYS_WAIT_H) - -CHECK_HEADERS(acl/libacl.h attr/xattr.h ctype.h errno.h) -CHECK_HEADERS(ext2fs/ext2_fs.h fcntl.h grp.h) -CHECK_HEADERS(inttypes.h io.h langinfo.h limits.h linux/fs.h) -CHECK_HEADERS(locale.h paths.h poll.h pwd.h regex.h signal.h stdarg.h) -CHECK_HEADERS(stdint.h stdlib.h string.h) -CHECK_HEADERS(sys/acl.h sys/extattr.h sys/ioctl.h sys/mkdev.h) -CHECK_HEADERS(sys/param.h sys/poll.h sys/select.h sys/time.h sys/utime.h) -CHECK_HEADERS(time.h unistd.h utime.h wchar.h wctype.h windows.h) - -CHECK_INCLUDE_FILE(direct.h HAVE_DIRECT_H) -CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H) -CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H) -CHECK_INCLUDE_FILE(process.h HAVE_PROCESS_H) -CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H) -CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) -CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H) + +CHECK_INCLUDE_FILE("acl/libacl.h" HAVE_ACL_LIBACL_H) +CHECK_INCLUDE_FILE("attr/xattr.h" HAVE_ATTR_XATTR_H) +CHECK_INCLUDE_FILE("ctype.h" HAVE_CTYPE_H) +CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H) +CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) +CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H) +CHECK_INCLUDE_FILE("ext2fs/ext2_fs.h" HAVE_EXT2FS_EXT2_FS_H) +CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H) +CHECK_INCLUDE_FILE("grp.h" HAVE_GRP_H) +CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) +CHECK_INCLUDE_FILE("io.h" HAVE_IO_H) +CHECK_INCLUDE_FILE("langinfo.h" HAVE_LANGINFO_H) +CHECK_INCLUDE_FILE("limits.h" HAVE_LIMITS_H) +CHECK_INCLUDE_FILE("linux/fs.h" HAVE_LINUX_FS_H) +CHECK_INCLUDE_FILE("locale.h" HAVE_LOCALE_H) +CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H) +CHECK_INCLUDE_FILE("paths.h" HAVE_PATHS_H) +CHECK_INCLUDE_FILE("poll.h" HAVE_POLL_H) +CHECK_INCLUDE_FILE("process.h" HAVE_PROCESS_H) +CHECK_INCLUDE_FILE("pwd.h" HAVE_PWD_H) +CHECK_INCLUDE_FILE("regex.h" HAVE_REGEX_H) +CHECK_INCLUDE_FILE("signal.h" HAVE_SIGNAL_H) +CHECK_INCLUDE_FILE("stdarg.h" HAVE_STDARG_H) +CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) +CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H) +CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H) +CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H) +CHECK_INCLUDE_FILE("sys/acl.h" HAVE_SYS_ACL_H) +CHECK_INCLUDE_FILE("sys/ioctl.h" HAVE_SYS_IOCTL_H) +CHECK_INCLUDE_FILE("sys/mkdev.h" HAVE_SYS_MKDEV_H) +CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H) +CHECK_INCLUDE_FILE("sys/poll.h" HAVE_SYS_POLL_H) +CHECK_INCLUDE_FILE("sys/select.h" HAVE_SYS_SELECT_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/types.h" HAVE_SYS_TYPES_H) +CHECK_INCLUDE_FILE("sys/utime.h" HAVE_SYS_UTIME_H) +CHECK_INCLUDE_FILE("sys/wait.h" HAVE_SYS_WAIT_H) +CHECK_INCLUDE_FILE("time.h" HAVE_TIME_H) +CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) +CHECK_INCLUDE_FILE("utime.h" HAVE_UTIME_H) +CHECK_INCLUDE_FILE("wchar.h" HAVE_WCHAR_H) +CHECK_INCLUDE_FILE("wctype.h" HAVE_WCTYPE_H) +CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H) + +IF(HAVE_SYS_TYPES_H) + SET(_sys_types_h "sys/types.h") +ELSE(HAVE_SYS_TYPES_H) + UNSET(_sys_types_h) +ENDIF(HAVE_SYS_TYPES_H) + +# +# Some headers require extra includes when they're available. +# +CHECK_INCLUDE_FILES(${_sys_types_h} "sys/extattr.h" HAVE_SYS_EXTATTR_H) # # Find OpenSSL @@ -212,15 +249,16 @@ ENDIF(OPENSSL_FOUND) # # Check MD5/RMD160/SHA headers # -CHECK_HEADERS(openssl/md5.h openssl/ripemd.h openssl/sha.h) -SET(_files "") -IF(HAVE_SYS_TYPES_H) - SET(_files "sys/types.h") -ENDIF(HAVE_SYS_TYPES_H) -SET(_files ${_files} "md5.h") -CHECK_INCLUDE_FILES("${_files}" HAVE_MD5_H) -CHECK_HEADERS(ripemd.h rmd160.h) -CHECK_HEADERS(sha.h sha1.h sha2.h sha256.h) +CHECK_INCLUDE_FILE("openssl/md5.h" HAVE_OPENSSL_MD5_H) +CHECK_INCLUDE_FILE("openssl/ripemd.h" HAVE_OPENSSL_RIPEMD_H) +CHECK_INCLUDE_FILE("openssl/sha.h" HAVE_OPENSSL_SHA_H) +CHECK_INCLUDE_FILES(${_sys_types_h} "md5.h" HAVE_MD5_H) +CHECK_INCLUDE_FILE("ripemd.h" HAVE_RIPEMD_H) +CHECK_INCLUDE_FILE("rmd160.h" HAVE_RMD160_H) +CHECK_INCLUDE_FILE("sha.h" HAVE_SHA_H) +CHECK_INCLUDE_FILE("sha1.h" HAVE_SHA1_H) +CHECK_INCLUDE_FILE("sha2.h" HAVE_SHA2_H) +CHECK_INCLUDE_FILE("sha256.h" HAVE_SHA256_H) # # Find MD5/RMD160/SHA library # diff --git a/build/cmake/CheckHeaders.cmake b/build/cmake/CheckHeaders.cmake deleted file mode 100644 index b24fe1ce2..000000000 --- a/build/cmake/CheckHeaders.cmake +++ /dev/null @@ -1,36 +0,0 @@ -# - Check if the system has the specified type -# CHECK_HEADERS (HEADER1 HEARDER2 ...) -# -# HEADER - the header(s) where the prototype should be declared -# -# The following variables may be set before calling this macro to -# modify the way the check is run: -# -# CMAKE_REQUIRED_FLAGS = string of compile command line flags -# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) -# CMAKE_REQUIRED_INCLUDES = list of include directories -# Copyright (c) 2009, Michihiro NAKAJIMA -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - - -INCLUDE(CheckIncludeFile) -INCLUDE(CheckIncludeFiles) - -MACRO (CHECK_HEADERS _HEADERS) - FOREACH (header ${ARGV}) - SET(_files ${header}) - IF("${_files}" MATCHES "^sys/extattr[.]h$") - SET(_files "sys/types.h" ${header}) - ENDIF("${_files}" MATCHES "^sys/extattr[.]h$") - - STRING(TOUPPER ${header} headervar) - SET(headervar "HAVE_${headervar}") - STRING(REPLACE "/" "_" headervar ${headervar}) - STRING(REPLACE "." "_" headervar ${headervar}) - CHECK_INCLUDE_FILES("${_files}" "${headervar}") - #MESSAGE(STATUS "${_files} --> ${headervar}") - ENDFOREACH (header) -ENDMACRO (CHECK_HEADERS) -