]> Dogcows Code - chaz/tar/blobdiff - configure.ac
maint: don't enable warnings by default unless GCC 4.6 or later
[chaz/tar] / configure.ac
index 35edb08afc81d30a26fac4631921c41f9e376e23..fbf41e64a6608c87ea14eb091fdafa2a2a9f9654 100644 (file)
@@ -78,13 +78,12 @@ AC_ARG_WITH([posix-acls],
                    [do not use POSIX.1e access control lists]),
     [with_posix_acls=no])
 if test "x$with_posix_acls" != "xno"; then
-  AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acl=no])
-  AC_SEARCH_LIBS([acl_get_file],  [acl pacl],, [with_posix_acl=no])
-  AC_SEARCH_LIBS([acl_get_fd],    [acl pacl],, [with_posix_acl=no])
-  AC_SEARCH_LIBS([acl_set_file],  [acl pacl],, [with_posix_acl=no])
-  AC_SEARCH_LIBS([acl_set_fd],    [acl pacl],, [with_posix_acl=no])
-  AC_SEARCH_LIBS([acl_to_text],   [acl pacl],, [with_posix_acl=no])
-  AC_SEARCH_LIBS([acl_from_text], [acl pacl],, [with_posix_acl=no])
+  AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acls=no])
+  for tar_acl_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \
+                     acl_to_text acl_from_text; do \
+    test "x$with_posix_acls" = xno && break
+    AC_SEARCH_LIBS([$tar_acl_func], [acl pacl], [], [with_posix_acls=no])
+  done
   if test "x$with_posix_acls" != xno; then
     AC_DEFINE(HAVE_POSIX_ACLS,,[Define when we have working POSIX acls])
   fi
@@ -113,6 +112,24 @@ gl_INIT
 # paxutils modules
 tar_PAXUTILS
 
+# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found])
+# ------------------------------------------------
+# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND.
+# Otherwise, run RUN-IF-NOT-FOUND.
+AC_DEFUN([gl_GCC_VERSION_IFELSE],
+  [AC_PREPROC_IFELSE(
+    [AC_LANG_PROGRAM(
+      [[
+#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__)
+/* ok */
+#else
+# error "your version of gcc is older than $1.$2"
+#endif
+      ]]),
+    ], [$3], [$4])
+  ]
+)
+
 AC_ARG_ENABLE([gcc-warnings],
   [AS_HELP_STRING([--enable-gcc-warnings],
      [turn on many GCC warnings (for developers; best with GNU make)])],
@@ -121,10 +138,9 @@ AC_ARG_ENABLE([gcc-warnings],
      *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
    esac
    gl_gcc_warnings=$enableval],
-  [if test -d "$srcdir"/.git; then
-     gl_gcc_warnings=yes
-   else
-     gl_gcc_warnings=no
+  [gl_gcc_warnings=no
+   if test -d "$srcdir"/.git; then
+     gl_GCC_VERSION_IFELSE([4], [6], [gl_gcc_warnings=yes])
    fi]
 )
 
This page took 0.026405 seconds and 4 git commands to generate.