]> git.eshelyaron.com Git - emacs.git/commitdiff
* configure.ac (GNU_OBJC_CFLAGS): Check ObjC defaults to C99. (bug#43167)
authorAlan Third <alan@idiocy.org>
Thu, 3 Sep 2020 20:56:03 +0000 (21:56 +0100)
committerAlan Third <alan@idiocy.org>
Thu, 3 Sep 2020 20:56:03 +0000 (21:56 +0100)
configure.ac

index dd2adb7e740b136b70c329cdbbfb5b4df8551468..0bcff587e8a47ade5acb503df8e2e89f9d26f492 100644 (file)
@@ -1900,8 +1900,7 @@ tmp_CPPFLAGS="$CPPFLAGS"
 tmp_CFLAGS="$CFLAGS"
 CPPFLAGS="$CPPFLAGS -x objective-c"
 CFLAGS="$CFLAGS -x objective-c"
-# Recent versions of GCC don't use C99 to compile Obj-C.
-GNU_OBJC_CFLAGS="-std=c99"
+GNU_OBJC_CFLAGS=""
 LIBS_GNUSTEP=
 if test "${with_ns}" != no; then
   # macfont.o requires macuvs.h which is absent after 'make extraclean',
@@ -1917,7 +1916,7 @@ if test "${with_ns}" != no; then
   elif flags=$( (gnustep-config --objc-flags) 2>/dev/null); then
      NS_IMPL_GNUSTEP=yes
      NS_GNUSTEP_CONFIG=yes
-     GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS $flags"
+     GNU_OBJC_CFLAGS="$flags"
      LIBS_GNUSTEP=$(gnustep-config --gui-libs) || exit
   elif test -f $GNUSTEP_CONFIG_FILE; then
      NS_IMPL_GNUSTEP=yes
@@ -2067,6 +2066,20 @@ if test "${HAVE_NS}" = yes; then
     AC_DEFINE(NATIVE_OBJC_INSTANCETYPE, 1,
               [Define if ObjC compiler supports instancetype natively.])
   fi
+
+  AC_CACHE_CHECK(
+    [if the Objective C compiler defaults to C99],
+    [emacs_cv_objc_c99],
+    [AC_LANG_PUSH([Objective C])
+     AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([], [[for (int i = 0;;);]])],
+       emacs_cv_objc_c99=yes,
+       emacs_cv_objc_c99=no)
+     AC_LANG_POP([Objective C])])
+
+   if test x$emacs_cv_objc_c99 = xno ; then
+     GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -std=c99"
+   fi
 fi
 
 HAVE_W32=no