diff --git a/configure.ac b/configure.ac index 35038a3a82..3ce9c316df 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 e1b6d81386..77b73195eb 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 71b0b7583f..3b3ace5125 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)