# useful for non-recursive builds. Strip them out.
drop if (/^(AM_CPPFLAGS|AM_CFLAGS)/);
+ # We don't care about upstream warning flags that just result in adding
+ # massive amounts of additional build rules for no reason.
+ if (/_CFLAGS/) {
+ s/ *\$\(GL_CFLAG_GNULIB_WARNINGS\)// if /_CFLAGS\s*=/;
+ }
+
+ # Drop superfluous CFLAGS assignments (which may be created by above
+ # transformation).
+ drop if /_CFLAGS\s*=\s*\$\(AM_CFLAGS\)\s*$/;
+
# Library dependencies are added automatically to libgnu.la by
# gnulib-tool. Unfortunately, this means that everything linking
# against libgnu.la is forced to pull in the same deps, even if they're
AT_CLEANUP
+AT_SETUP([fix-gnulib.pl warning removal])
+
+AT_DATA([test.mk.in], [[
+## test begin
+noinst_LTLIBRARIES += libgnu.la
+libgnu_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
+noinst_LIBRARIES += libgnu.a
+libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
+## test end
+]])
+AT_CHECK([test_fix_gnulib -i test.mk.in -o test.mk || exit
+sed -n '/^## test begin/,/^## test end/p' test.mk], [0], [## test begin
+EXTRA_LTLIBRARIES += libgnu.la
+EXTRA_LIBRARIES += libgnu.a
+## test end
+])
+
+AT_CLEANUP
+
dnl TEST_FIND_AUTOMAKE_VER([to-check], [test-action])
dnl
dnl For each whitespace-separated version token in to-check, check if we can