[gtk+] build: Add various compiler warnings and errors
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] build: Add various compiler warnings and errors
- Date: Mon, 17 Oct 2016 11:03:14 +0000 (UTC)
commit 20b2e479f8256184eda0e0d44c1599b27104627a
Author: Emmanuele Bassi <ebassi gnome org>
Date: Sat Oct 15 21:39:31 2016 +0100
build: Add various compiler warnings and errors
Just like GLib, GTK+ would benefit from getting warnings and errors from
the compilers.
We check various, common warnings, especially for a future use of C99;
additionally, we promote some warnings to errors, in order to ensure
that simple mistakes are caught during the development phase, before
they are submitted to the code repository.
configure.ac | 31 +++++++++++++++++++++++++++++++
gdk/Makefile.am | 2 +-
gtk/Makefile.am | 1 +
3 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 35038a3..3ce9c31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1862,6 +1862,37 @@ _______EOF
gdk_windowing='$GDK_WINDOWING'
])
+dnl Compiler flags; macro originates from systemd
+dnl See https://bugzilla.gnome.org/show_bug.cgi?id=608953
+AC_ARG_ENABLE(compile-warnings,
+ [AS_HELP_STRING([--disable-compile-warnings], [Do not use builtin compiler warnings])],
+ [],
+ [enable_compile_warnings=yes])
+AS_IF([test "x$enable_compile_warnings" = xyes], [
+ AX_APPEND_COMPILE_FLAGS([ dnl
+ -Wall dnl
+ -Wundef dnl
+ -Wnested-externs dnl
+ -Wpointer-arith dnl
+ -Wstrict-prototypes dnl
+ -Wcast-align dnl
+ -Wuninitialized dnl
+ -Wmissing-include-dirs dnl
+ -Wshadow dnl
+ -Wformat=2 dnl
+ -Wformat-non-literal dnl
+ -Wformat-security dnl
+ -Wimplicit-function-declaration dnl
+ -Werror=redundant-decls dnl
+ -Werror=write-strings dnl
+ -Werror=missing-declarations dnl
+ -Werror=missing-prototypes dnl
+ -Werror=empty-body dnl
+ -Werror=init-self dnl
+ ], [GTK_WARN_CFLAGS])
+])
+AC_SUBST(GTK_WARN_CFLAGS)
+
dnl
dnl Check for -Bsymbolic-functions linker flag used to avoid
dnl intra-library PLT jumps, if available.
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index e1b6d81..77b7319 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -207,7 +207,7 @@ common_sources = \
gdkresources.c
libgdk_4_la_SOURCES = $(common_sources)
-libgdk_4_la_CFLAGS = $(AM_CFLAGS) $(GDK_HIDDEN_VISIBILITY_CFLAGS)
+libgdk_4_la_CFLAGS = $(AM_CFLAGS) $(GTK_WARN_CFLAGS) $(GDK_HIDDEN_VISIBILITY_CFLAGS)
libgdk_4_la_LIBADD = $(GDK_DEP_LIBS) $(SHM_LIBS)
libgdk_4_la_LDFLAGS = $(LDADD)
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 71b0b75..3b3ace5 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -29,6 +29,7 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/gdk \
$(GMODULE_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
+ $(GTK_WARN_CFLAGS) \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEP_CFLAGS) \
$(INCLUDED_IMMODULE_DEFINE)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]