]> Dogcows Code - chaz/tar/blobdiff - acinclude.m4
Options to control option handling in file lists.
[chaz/tar] / acinclude.m4
index 10a27e5b97071cddbb103384675a74db2f785d25..3b28b3bd63ddacd9cab238882a81dad73a26d78e 100644 (file)
@@ -1,18 +1,21 @@
-dnl Special Autoconf macros for GNU Tar         -*- autoconf -*-
-dnl Copyright (C) 2009 Free Software Foundation, Inc.
+dnl Special Autoconf macros for GNU tar         -*- autoconf -*-
+
+dnl Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+dnl
+dnl This file is part of GNU tar.
 dnl
 dnl GNU tar is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl
 dnl GNU tar is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3, or (at your option)
-dnl any later version.
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
 dnl
 dnl GNU tar is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
 dnl
 dnl
 dnl GNU tar is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
 dnl
-dnl You should have received a copy of the GNU General Public License along
-dnl with GNU tar.  If not, see <http://www.gnu.org/licenses/>.
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_DEFUN([TAR_COMPR_PROGRAM],[
  m4_pushdef([tar_compr_define],translit($1,[a-z+-],[A-ZX_])[_PROGRAM])
 
 AC_DEFUN([TAR_COMPR_PROGRAM],[
  m4_pushdef([tar_compr_define],translit($1,[a-z+-],[A-ZX_])[_PROGRAM])
@@ -24,3 +27,50 @@ AC_DEFUN([TAR_COMPR_PROGRAM],[
             [tar_compr_var=m4_if($2,,$1,$2)])
  AC_DEFINE_UNQUOTED(tar_compr_define, "$tar_compr_var",
                     [Define to the program name of ]$1[ compressor program])])
             [tar_compr_var=m4_if($2,,$1,$2)])
  AC_DEFINE_UNQUOTED(tar_compr_define, "$tar_compr_var",
                     [Define to the program name of ]$1[ compressor program])])
+
+# Provide <attr/xattr.h>, if necessary
+
+AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H],
+[
+  AC_ARG_WITH([xattrs],
+    AS_HELP_STRING([--without-xattrs], [don't use linux extended attributes]),
+    [], [with_xattrs=maybe]
+  )
+
+  # First check for <sys/xattr.h>
+  AC_CHECK_HEADERS([sys/xattr.h])
+  AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_sys_xattr_h" = yes])
+  AM_CONDITIONAL([TAR_LIB_ATTR],[false])
+  if test "$ac_cv_header_sys_xattr_h" = yes; then
+    AC_CHECK_FUNCS(getxattr  fgetxattr  lgetxattr \
+                   setxattr  fsetxattr  lsetxattr \
+                   listxattr flistxattr llistxattr,
+        # only when functions are present
+        AC_DEFINE([HAVE_SYS_XATTR_H], [1],
+                    [define to 1 if we have <sys/xattr.h> header])
+        if test "$with_xattrs" != no; then
+          AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
+        fi
+    )
+  fi
+
+  # If <sys/xattr.h> is not found, then check for <attr/xattr.h>
+  if test "$ac_cv_header_sys_xattr_h" != yes; then
+    AC_CHECK_HEADERS([attr/xattr.h])
+    AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes])
+    AC_CHECK_LIB([attr],[fgetxattr])
+    AM_CONDITIONAL([TAR_LIB_ATTR],[test "$ac_cv_lib_attr_fgetxattr" = yes])
+    if test "$ac_cv_header_attr_xattr_h" = yes; then
+      AC_CHECK_FUNCS(getxattr  fgetxattr  lgetxattr \
+                     setxattr  fsetxattr  lsetxattr \
+                     listxattr flistxattr llistxattr,
+          # only when functions are present
+          AC_DEFINE([HAVE_ATTR_XATTR_H], [1],
+                      [define to 1 if we have <attr/xattr.h> header])
+          if test "$with_xattrs" != no; then
+            AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
+          fi
+      )
+    fi
+  fi
+])
This page took 0.023048 seconds and 4 git commands to generate.