From fc370dc71d7726023c063618c7b04c1ed30637e2 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Wed, 26 Jan 2022 17:56:10 +0300
Subject: [PATCH] Add -Wall to CFLAGS if available.
---
configure | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 33 +++++++++++++++++++++++++++++++++
2 files changed, 81 insertions(+)
diff --git a/configure b/configure
index ddf0212..38b76a8 100755
--- a/configure
+++ b/configure
@@ -12491,6 +12491,52 @@ find_lib()
done
}
+CheckWarnAll()
+{
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -Wall option" >&5
+$as_echo_n "checking for GCC -Wall option... " >&6; }
+ have_gcc_Wall=no
+
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$save_CFLAGS -Wall"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int x = 0;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ have_gcc_Wall=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_Wall" >&5
+$as_echo "$have_gcc_Wall" >&6; }
+ CFLAGS="$save_CFLAGS"
+
+ if test x$have_gcc_Wall = xyes; then
+ CFLAGS="$CFLAGS -Wall"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for necessary GCC -Wno-multichar option" >&5
+$as_echo_n "checking for necessary GCC -Wno-multichar option... " >&6; }
+ need_gcc_Wno_multichar=no
+ case "$host" in
+ *-*-haiku*)
+ need_gcc_Wno_multichar=yes
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $need_gcc_Wno_multichar" >&5
+$as_echo "$need_gcc_Wno_multichar" >&6; }
+ if test x$need_gcc_Wno_multichar = xyes; then
+ CFLAGS="$CFLAGS -Wno-multichar"
+ fi
+ fi
+}
+
CheckVisibilityHidden()
{
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -fvisibility=hidden option" >&5
@@ -14085,6 +14131,8 @@ fi
+CheckWarnAll
+
CheckVisibilityHidden
OBJCFLAGS=$CFLAGS
diff --git a/configure.ac b/configure.ac
index 30143f5..a75dd48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -129,6 +129,36 @@ find_lib()
done
}
+dnl See if GCC's -Wall is supported.
+CheckWarnAll()
+{
+ AC_MSG_CHECKING(for GCC -Wall option)
+ have_gcc_Wall=no
+
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$save_CFLAGS -Wall"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int x = 0;])], [have_gcc_Wall=yes])
+ AC_MSG_RESULT($have_gcc_Wall)
+ CFLAGS="$save_CFLAGS"
+
+ if test x$have_gcc_Wall = xyes; then
+ CFLAGS="$CFLAGS -Wall"
+
+dnl Haiku headers use multicharacter constants all over the place. Ignore these warnings when using -Wall.
+ AC_MSG_CHECKING(for necessary GCC -Wno-multichar option)
+ need_gcc_Wno_multichar=no
+ case "$host" in
+ *-*-haiku*)
+ need_gcc_Wno_multichar=yes
+ ;;
+ esac
+ AC_MSG_RESULT($need_gcc_Wno_multichar)
+ if test x$need_gcc_Wno_multichar = xyes; then
+ CFLAGS="$CFLAGS -Wno-multichar"
+ fi
+ fi
+}
+
dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
CheckVisibilityHidden()
{
@@ -479,6 +509,9 @@ AC_SUBST([IMG_LIBS])
AC_SUBST([PC_LIBS])
AC_SUBST([PC_REQUIRES])
+dnl check for GCC warning options
+CheckWarnAll
+
dnl check for GCC visibility attributes
CheckVisibilityHidden