]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Add cmake test for EXTATTR_NAMESPACE_USER to fix extattr support on FreeBSD in cmake...
authorTim Kientzle <kientzle@gmail.com>
Sun, 2 May 2010 03:48:44 +0000 (23:48 -0400)
committerTim Kientzle <kientzle@gmail.com>
Sun, 2 May 2010 03:48:44 +0000 (23:48 -0400)
SVN-Revision: 2350

CMakeLists.txt
build/cmake/config.h.in

index 74737787c6d826e27e8f82ab6241080f9fac5a96..c8fd0843ea59884e530dec91a614ca231cbe09f4 100644 (file)
@@ -7,6 +7,7 @@ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake")
 if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin)
 endif()
+SET(CMAKE_BUILD_TYPE "Debug")
 
 #
 # Version - read from 'version' file.
@@ -205,13 +206,11 @@ MACRO (LA_CHECK_INCLUDE_FILE header var)
       ENDIF (${var})
 ENDMACRO (LA_CHECK_INCLUDE_FILE)
 
-# Few headers that must precede other headers
-# Must precede sys/extattr.h on FreeBSD
+# Some FreeBSD headers assume sys/types.h was already included.
 LA_CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
 
 # Alphabetize the rest unless there's a compelling reason
 LA_CHECK_INCLUDE_FILE("acl/libacl.h" HAVE_ACL_LIBACL_H)
-LA_CHECK_INCLUDE_FILE("attr/xattr.h" HAVE_ATTR_XATTR_H)
 LA_CHECK_INCLUDE_FILE("ctype.h" HAVE_CTYPE_H)
 LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
 LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H)
@@ -241,7 +240,6 @@ LA_CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H)
 LA_CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H)
 LA_CHECK_INCLUDE_FILE("sys/acl.h" HAVE_SYS_ACL_H)
 LA_CHECK_INCLUDE_FILE("sys/cdefs.h" HAVE_SYS_CDEFS_H)
-LA_CHECK_INCLUDE_FILE("sys/extattr.h" HAVE_SYS_EXTATTR_H)
 LA_CHECK_INCLUDE_FILE("sys/ioctl.h" HAVE_SYS_IOCTL_H)
 LA_CHECK_INCLUDE_FILE("sys/mkdev.h" HAVE_SYS_MKDEV_H)
 LA_CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H)
@@ -667,10 +665,12 @@ CHECK_FILE_OFFSET_BITS()
 IF(ENABLE_XATTR)
   LA_CHECK_INCLUDE_FILE(attr/xattr.h     HAVE_ATTR_XATTR_H)
   LA_CHECK_INCLUDE_FILE(sys/xattr.h      HAVE_SYS_XATTR_H)
+  LA_CHECK_INCLUDE_FILE(sys/extattr.h      HAVE_SYS_EXTATTR_H)
   CHECK_LIBRARY_EXISTS(attr "setxattr" "" HAVE_ATTR_LIB)
   IF(HAVE_ATTR_LIB)
     SET(CMAKE_REQUIRED_LIBRARIES "attr")
   ENDIF(HAVE_ATTR_LIB)
+  CHECK_SYMBOL_EXISTS(EXTATTR_NAMESPACE_USER "sys/types.h;sys/extattr.h" HAVE_DECL_EXTATTR_NAMESPACE_USER)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_get_file HAVE_EXTATTR_GET_FILE)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_list_file HAVE_EXTATTR_LIST_FILE)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_set_fd HAVE_EXTATTR_SET_FD)
index 0046b8664091d6d1284a191e34288329504a969a..a302b3f3320b8a163eb24c855023b107f85cbfc1 100644 (file)
 /* Define to 1 if you have the `extattr_set_file' function. */
 #cmakedefine HAVE_EXTATTR_SET_FILE 1
 
+/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
+#cmakedefine HAVE_DECL_EXTATTR_NAMESPACE_USER 1
+
 /* Define to 1 if you have the `fchdir' function. */
 #cmakedefine HAVE_FCHDIR 1