X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=blobdiff_plain;f=acinclude.m4;h=3b28b3bd63ddacd9cab238882a81dad73a26d78e;hp=10a27e5b97071cddbb103384675a74db2f785d25;hb=HEAD;hpb=84a55f12e5880196623d4193bf1d7f5141e6b0d5 diff --git a/acinclude.m4 b/acinclude.m4 index 10a27e5..3b28b3b 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -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 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 You should have received a copy of the GNU General Public License along -dnl with GNU tar. If not, see . +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . 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])]) + +# Provide , 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 + 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 header]) + if test "$with_xattrs" != no; then + AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) + fi + ) + fi + + # If is not found, then check for + 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 header]) + if test "$with_xattrs" != no; then + AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) + fi + ) + fi + fi +])