configure: new option --enable-gcc-warnings
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 9 Apr 2012 07:45:59 +0000 (00:45 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 9 Apr 2012 07:45:59 +0000 (00:45 -0700)
commitb8df54ffbefc5ddf40ddcda68a2a682769c5833d
tree95b4e71a64030550e3c1719575121e773167d53a
parentcb3c2e3eca8bf31ac861739272ba1e182f4ec295
configure: new option --enable-gcc-warnings

I have been using this change for many months in my private copy
of Emacs, and have used it to find several bugs.  It's mature
enough to publish now.
* Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
* configure.in: Support --enable-gcc-warnings, in the style of
other GNU packages such as coreutils.
(C_WARNINGS_SWITCH): Remove, replacing with...
(WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
(PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
when including system files with GCC.
* etc/NEWS: Mention --enable-gcc-warnings.
* lib/Makefile.am (AM_CFLAGS): New macro.
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
* lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(BASE_CFLAGS): Use new macros rather than old.
* lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
* src/regex.c: Ignore -Wstrict-overflow.  If !emacs, also ignore
-Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
-Wunused-result, -Wunused-variable.  This should go away once
the Emacs and Gnulib regex code is merged.
(xmalloc, xrealloc): Now static.
17 files changed:
ChangeLog
Makefile.in
configure.in
etc/NEWS
lib-src/ChangeLog
lib-src/Makefile.in
lib/Makefile.am
lwlib/ChangeLog
lwlib/Makefile.in
m4/manywarnings.m4 [new file with mode: 0644]
m4/warnings.m4 [new file with mode: 0644]
oldXMenu/ChangeLog
oldXMenu/Makefile.in
src/ChangeLog
src/Makefile.in
src/process.c
src/regex.c