diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-04-10 11:09:17 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-04-10 11:09:17 +0200 |
commit | c09551ab796af1f8aa19338d99e49267860fcd9c (patch) | |
tree | a529fedaab7e2165481ecc8e87497a492e80b6d6 | |
parent | 5a4e160ce423f56456227c3d7d8d8a069120b377 (diff) | |
download | vim-git-c09551ab796af1f8aa19338d99e49267860fcd9c.tar.gz |
updated for version 7.4.254v7.4.254
Problem: Smack support detection is incomplete.
Solution: Check for attr/xattr.h and specific macro.
-rwxr-xr-x | src/auto/configure | 50 | ||||
-rw-r--r-- | src/configure.in | 13 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 52 insertions, 13 deletions
diff --git a/src/auto/configure b/src/auto/configure index 0b9ea5a94..fa047b5c1 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -4611,13 +4611,41 @@ fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +if test "$enable_smack" = "yes"; then + ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default" +if test "x$ac_cv_header_attr_xattr_h" = xyes; then : + true +else + enable_smack="no" +fi + + +fi +if test "$enable_smack" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XATTR_NAME_SMACKEXEC in linux/xattr.h" >&5 +$as_echo_n "checking for XATTR_NAME_SMACKEXEC in linux/xattr.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <linux/xattr.h> +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "XATTR_NAME_SMACKEXEC" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; }; enable_smack = "no" +fi +rm -f conftest* + fi if test "$enable_smack" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5 -$as_echo_n "checking for llistxattr in -lattr... " >&6; } -if ${ac_cv_lib_attr_llistxattr+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setxattr in -lattr" >&5 +$as_echo_n "checking for setxattr in -lattr... " >&6; } +if ${ac_cv_lib_attr_setxattr+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -4631,27 +4659,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char llistxattr (); +char setxattr (); int main () { -return llistxattr (); +return setxattr (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_attr_llistxattr=yes + ac_cv_lib_attr_setxattr=yes else - ac_cv_lib_attr_llistxattr=no + ac_cv_lib_attr_setxattr=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_llistxattr" >&5 -$as_echo "$ac_cv_lib_attr_llistxattr" >&6; } -if test "x$ac_cv_lib_attr_llistxattr" = xyes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_setxattr" >&5 +$as_echo "$ac_cv_lib_attr_setxattr" >&6; } +if test "x$ac_cv_lib_attr_setxattr" = xyes; then : LIBS="$LIBS -lattr" found_smack="yes" $as_echo "#define HAVE_SMACK 1" >>confdefs.h diff --git a/src/configure.in b/src/configure.in index b22b9ea5c..e97878012 100644 --- a/src/configure.in +++ b/src/configure.in @@ -396,10 +396,19 @@ if test "$enable_smack" = "yes"; then AC_MSG_RESULT(no) AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no") else - AC_MSG_RESULT(yes) + AC_MSG_RESULT(yes) +fi +if test "$enable_smack" = "yes"; then + AC_CHECK_HEADER([attr/xattr.h], true, enable_smack="no") +fi +if test "$enable_smack" = "yes"; then + AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h) + AC_EGREP_CPP(XATTR_NAME_SMACKEXEC, [#include <linux/xattr.h>], + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no); enable_smack = "no") fi if test "$enable_smack" = "yes"; then - AC_CHECK_LIB(attr, llistxattr, + AC_CHECK_LIB(attr, setxattr, [LIBS="$LIBS -lattr" found_smack="yes" AC_DEFINE(HAVE_SMACK)]) diff --git a/src/version.c b/src/version.c index 365ee5a94..e236ae877 100644 --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 254, +/**/ 253, /**/ 252, |