]> 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:26:43 +0000 (15:26 +1000)
                        when libcap-devel is installed. [RT #34838]

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

diff --git a/CHANGES b/CHANGES
index 1fcfca1bed78296194cd41735e610e0c6247f90d..4f0bedbf9db14a2976a3aaae588a8ccc533233c0 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]
+
 3657.  [port]          Some readline clones don't accept NULL pointers when
                        calling add_history. [RT #34842]
 
index 1a0d4db785926efa720717342879d4079fa4019c..d6c82a764ad8be45e7859f81cb17151a8b9a8471 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 8ec29469aaa4d0e4d57041a13b5c7f91b11b8dd9..a77b2f84d6cf31c9ee670f143ab2db0f565de040 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 be0e40e742fec05be450915961f275713b24800c..f577dc88c237d7184dfd84f24d40aeeb4e4e55fb 100644 (file)
@@ -2637,7 +2637,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