]> granicus.if.org Git - python/commitdiff
compile with -std=c99 instead of -std=gnu99; use kiddie-gloves with bluetooth/bluetoo...
authorBenjamin Peterson <benjamin@python.org>
Fri, 9 Sep 2016 17:22:45 +0000 (10:22 -0700)
committerBenjamin Peterson <benjamin@python.org>
Fri, 9 Sep 2016 17:22:45 +0000 (10:22 -0700)
configure
configure.ac

index 8c1650c594e87a4644e254f1a67871f6ca1c1b1d..83550056b4900c6577cbcda1a9fb95d0476acfd7 100755 (executable)
--- a/configure
+++ b/configure
@@ -6855,9 +6855,7 @@ UNIVERSAL_ARCH_FLAGS=
 # tweak BASECFLAGS based on compiler and platform
 case $GCC in
 yes)
-    # GNU dialect of C99, enables GNU extensions like __attribute__. GNU99
-    # is required by bluetooth.h on big endian machines.
-    CFLAGS_NODIST="$CFLAGS_NODIST -std=gnu99"
+    CFLAGS_NODIST="$CFLAGS_NODIST -std=c99"
 
     # Python doesn't violate C99 aliasing rules, but older versions of
     # GCC produce warnings for legal Python code.  Enable
@@ -7617,7 +7615,7 @@ sys/param.h sys/select.h sys/sendfile.h sys/socket.h sys/statvfs.h \
 sys/stat.h sys/syscall.h sys/sys_domain.h sys/termio.h sys/time.h \
 sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \
 libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
-bluetooth/bluetooth.h linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \
+linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \
 sys/endian.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -7840,6 +7838,24 @@ fi
 fi
 
 
+# bluetooth/bluetooth.h has been known to not compile with -std=c99.
+# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-std=c99 $CFLAGS"
+for ac_header in bluetooth/bluetooth.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default"
+if test "x$ac_cv_header_bluetooth_bluetooth_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_BLUETOOTH_BLUETOOTH_H 1
+_ACEOF
+
+fi
+
+done
+
+CFLAGS=$SAVE_CFLAGS
+
 # On Darwin (OS X) net/if.h requires sys/socket.h to be imported first.
 for ac_header in net/if.h
 do :
index 06e6841d79aaf8320441f09e648c7d1ffdae089e..67d3aefa618ad09b9f9456ba856f3064141fcb3a 100644 (file)
@@ -1520,9 +1520,7 @@ AC_SUBST(UNIVERSAL_ARCH_FLAGS)
 # tweak BASECFLAGS based on compiler and platform
 case $GCC in
 yes)
-    # GNU dialect of C99, enables GNU extensions like __attribute__. GNU99
-    # is required by bluetooth.h on big endian machines.
-    CFLAGS_NODIST="$CFLAGS_NODIST -std=gnu99"
+    CFLAGS_NODIST="$CFLAGS_NODIST -std=c99"
 
     # Python doesn't violate C99 aliasing rules, but older versions of
     # GCC produce warnings for legal Python code.  Enable
@@ -1991,11 +1989,18 @@ sys/param.h sys/select.h sys/sendfile.h sys/socket.h sys/statvfs.h \
 sys/stat.h sys/syscall.h sys/sys_domain.h sys/termio.h sys/time.h \
 sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \
 libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
-bluetooth/bluetooth.h linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \
+linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \
 sys/endian.h)
 AC_HEADER_DIRENT
 AC_HEADER_MAJOR
 
+# bluetooth/bluetooth.h has been known to not compile with -std=c99.
+# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-std=c99 $CFLAGS"
+AC_CHECK_HEADERS(bluetooth/bluetooth.h)
+CFLAGS=$SAVE_CFLAGS
+
 # On Darwin (OS X) net/if.h requires sys/socket.h to be imported first.
 AC_CHECK_HEADERS([net/if.h], [], [],
 [#include <stdio.h>