]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3658. [port] linux: Address platform specific compilation issue
authorMark Andrews <marka@isc.org>
Thu, 26 Sep 2013 05:26:43 +0000 (15:26 +1000)
committerMark Andrews <marka@isc.org>
Thu, 26 Sep 2013 05:27:53 +0000 (15:27 +1000)
                        when libcap-devel is installed. [RT #34838]

(cherry picked from commit 7433a204d32673e9f6747172f202272cc5bfe27c)

CHANGES
bin/named/unix/os.c
configure
configure.in

diff --git a/CHANGES b/CHANGES
index 2507596c0e2d15143310bdd4adf3f11cc849b096..5f3b4da80e2902f292385c30ac34db698f1be18d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3658.  [port]          linux: Address platform specific compilation issue
+                       when libcap-devel is installed. [RT #34838]
+
 3656.  [bug]           Treat a all zero netmask as invalid when generating
                        the localnets acl. [RT #34687]
 
index 8b559f6a75dc137bcf34644f8dfea81ba475555d..c9b82309b6b5696b513df43bee2cf2ef7e3c5ee9 100644 (file)
@@ -117,12 +117,12 @@ static int dfd[2] = { -1, -1 };
 static isc_boolean_t non_root = ISC_FALSE;
 static isc_boolean_t non_root_caps = ISC_FALSE;
 
-#ifdef HAVE_LINUX_TYPES_H
-#include <linux/types.h>
-#endif
 #ifdef HAVE_SYS_CAPABILITY_H
 #include <sys/capability.h>
 #else
+#ifdef HAVE_LINUX_TYPES_H
+#include <linux/types.h>
+#endif
 /*%
  * We define _LINUX_FS_H to prevent it from being included.  We don't need
  * anything from it, and the files it includes cause warnings with 2.2
index 998a0a991f5bbecd18a11f2ecc8d418f4664b87b..544b0ed347cb9178171840dc0e239f248cc6812c 100755 (executable)
--- a/configure
+++ b/configure
 
 done
 
-               for ac_header in linux/capability.h sys/capability.h
+               for ac_header in sys/capability.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_LINUX_TYPES_H
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_capability_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_CAPABILITY_H 1
+_ACEOF
+
+fi
+
+done
+
+               for ac_header in linux/capability.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "linux/capability.h" "ac_cv_header_linux_capability_h" "#ifdef HAVE_LINUX_TYPES_H
                                  #include <linux/types.h>
                                  #endif
 
 "
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+if test "x$ac_cv_header_linux_capability_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_LINUX_CAPABILITY_H 1
 _ACEOF
 
 fi
index dada1a0c72492383506a00994f01d7c63c9a14fd..f97b3dc6d720cd897b955ee846f1464784e913df 100644 (file)
@@ -2072,7 +2072,8 @@ AC_ARG_ENABLE(linux-caps,
 case "$enable_linux_caps" in
        yes|'')
                AC_CHECK_HEADERS(linux/types.h)
-               AC_CHECK_HEADERS([linux/capability.h sys/capability.h], [], [],
+               AC_CHECK_HEADERS([sys/capability.h])
+               AC_CHECK_HEADERS([linux/capability.h], [], [],
                                 [#ifdef HAVE_LINUX_TYPES_H
                                  #include <linux/types.h>
                                  #endif