Get --enable-gcc-warnings working again.
The recent changes to configure.ac removed the transliteration of -I to -isystem in CFLAGS, which is needed for --enable-gcc-warnings. Bring this back while keeping the spirit of the recent changes. * configure.ac (edit_cflags): Restore this shell var, and put it at the top level, where it'll be useful when emacs-24 is next merged. (EMACS_CHECK_MODULES): New macro. All uses of PKG_CHECK_MODULES changed to use it.
This commit is contained in:
parent
af3e4d067a
commit
2bafb7c4a3
2 changed files with 54 additions and 23 deletions
|
@ -1,5 +1,14 @@
|
|||
2014-05-03 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Get --enable-gcc-warnings working again.
|
||||
The recent changes to configure.ac removed the transliteration of
|
||||
-I to -isystem in CFLAGS, which is needed for --enable-gcc-warnings.
|
||||
Bring this back while keeping the spirit of the recent changes.
|
||||
* configure.ac (edit_cflags): Restore this shell var, and put it
|
||||
at the top level, where it'll be useful when emacs-24 is next merged.
|
||||
(EMACS_CHECK_MODULES): New macro. All uses of PKG_CHECK_MODULES
|
||||
changed to use it.
|
||||
|
||||
Make it easier on maintainers who use their own Automake.
|
||||
* autogen.sh (ACLOCAL_PATH, AUTORECONF_ENV): New vars.
|
||||
Set them to avoid problems when maintainers prepend their own
|
||||
|
|
68
configure.ac
68
configure.ac
|
@ -902,6 +902,13 @@ else
|
|||
AC_SUBST([GNULIB_WARN_CFLAGS])
|
||||
fi
|
||||
|
||||
edit_cflags="
|
||||
s,///*,/,g
|
||||
s/^/ /
|
||||
s/ -I/ $isystem/g
|
||||
s/^ //
|
||||
"
|
||||
|
||||
|
||||
|
||||
dnl Some other nice autoconf tests.
|
||||
|
@ -1340,6 +1347,19 @@ pre_PKG_CONFIG_LIBS=$LIBS
|
|||
|
||||
PKG_PROG_PKG_CONFIG(0.9.0)
|
||||
|
||||
dnl EMACS_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4)
|
||||
dnl acts like PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4,
|
||||
dnl HAVE_GSTUFF=yes, HAVE_GSTUFF=no) -- see pkg-config man page --
|
||||
dnl except that it postprocesses CFLAGS as needed for --enable-gcc-warnings.
|
||||
dnl EMACS_CHECK_MODULES accepts optional 3rd and 4th arguments that
|
||||
dnl can take the place of the default HAVE_GSTUFF=yes and HAVE_GSTUFF=no
|
||||
dnl actions.
|
||||
AC_DEFUN([EMACS_CHECK_MODULES],
|
||||
[PKG_CHECK_MODULES([$1], [$2],
|
||||
[$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
|
||||
m4_default([$3], [HAVE_$1=yes])],
|
||||
[m4_default([$4], [HAVE_$1=no])])])
|
||||
|
||||
HAVE_SOUND=no
|
||||
if test "${with_sound}" != "no"; then
|
||||
# Sound support for GNU/Linux, the free BSDs, and MinGW.
|
||||
|
@ -1366,7 +1386,7 @@ if test "${with_sound}" != "no"; then
|
|||
if test "${with_sound}" = "alsa" || test "${with_sound}" = "yes"; then
|
||||
ALSA_REQUIRED=1.0.0
|
||||
ALSA_MODULES="alsa >= $ALSA_REQUIRED"
|
||||
PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
|
||||
EMACS_CHECK_MODULES([ALSA], [$ALSA_MODULES])
|
||||
if test $HAVE_ALSA = yes; then
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
SAVE_LIBS="$LIBS"
|
||||
|
@ -2134,7 +2154,7 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${opsys}" =
|
|||
RSVG_REQUIRED=2.11.0
|
||||
RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
|
||||
|
||||
PKG_CHECK_MODULES(RSVG, $RSVG_MODULE, HAVE_RSVG=yes, :)
|
||||
EMACS_CHECK_MODULES([RSVG], [$RSVG_MODULE])
|
||||
AC_SUBST(RSVG_CFLAGS)
|
||||
AC_SUBST(RSVG_LIBS)
|
||||
|
||||
|
@ -2157,7 +2177,7 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${HAVE_W32}"
|
|||
## 6.0.7 does not work. See bug#7955.
|
||||
## 6.8.2 makes Emacs crash; see Bug#13867.
|
||||
IMAGEMAGICK_MODULE="Wand >= 6.2.8 Wand != 6.8.2"
|
||||
PKG_CHECK_MODULES(IMAGEMAGICK, $IMAGEMAGICK_MODULE, HAVE_IMAGEMAGICK=yes, :)
|
||||
EMACS_CHECK_MODULES([IMAGEMAGICK], [$IMAGEMAGICK_MODULE])
|
||||
AC_SUBST(IMAGEMAGICK_CFLAGS)
|
||||
AC_SUBST(IMAGEMAGICK_LIBS)
|
||||
|
||||
|
@ -2187,7 +2207,8 @@ if test "${opsys}" != "mingw32"; then
|
|||
GTK_MODULES="gtk+-3.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
|
||||
|
||||
dnl Checks for libraries.
|
||||
PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
|
||||
EMACS_CHECK_MODULES([GTK], [$GTK_MODULES],
|
||||
[pkg_check_gtk=yes], [pkg_check_gtk=no])
|
||||
if test "$pkg_check_gtk" = "no" && test "$with_gtk3" = "yes"; then
|
||||
AC_MSG_ERROR($GTK_PKG_ERRORS)
|
||||
fi
|
||||
|
@ -2214,7 +2235,8 @@ if test "${opsys}" != "mingw32"; then
|
|||
GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
|
||||
|
||||
dnl Checks for libraries.
|
||||
PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
|
||||
EMACS_CHECK_MODULES([GTK], [$GTK_MODULES],
|
||||
[pkg_check_gtk=yes], [pkg_check_gtk=no])
|
||||
if test "$pkg_check_gtk" = "no" &&
|
||||
{ test "$with_gtk" = yes || test "$with_gtk2" = "yes"; }
|
||||
then
|
||||
|
@ -2338,7 +2360,7 @@ dnl other platforms.
|
|||
HAVE_DBUS=no
|
||||
DBUS_OBJ=
|
||||
if test "${with_dbus}" = "yes"; then
|
||||
PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, HAVE_DBUS=yes, HAVE_DBUS=no)
|
||||
EMACS_CHECK_MODULES([DBUS], [dbus-1 >= 1.0])
|
||||
if test "$HAVE_DBUS" = yes; then
|
||||
AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
|
||||
dnl dbus_watch_get_unix_fd has been introduced in D-Bus 1.1.1.
|
||||
|
@ -2363,7 +2385,7 @@ AC_SUBST(DBUS_OBJ)
|
|||
dnl GSettings has been tested under GNU/Linux only.
|
||||
HAVE_GSETTINGS=no
|
||||
if test "${HAVE_X11}" = "yes" && test "${with_gsettings}" = "yes"; then
|
||||
PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.26, HAVE_GSETTINGS=yes, HAVE_GSETTINGS=no)
|
||||
EMACS_CHECK_MODULES([GSETTINGS], [gio-2.0 >= 2.26])
|
||||
if test "$HAVE_GSETTINGS" = "yes"; then
|
||||
old_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS $GSETTINGS_CFLAGS"
|
||||
|
@ -2397,7 +2419,7 @@ dnl GConf has been tested under GNU/Linux only.
|
|||
dnl The version is really arbitrary, it is about the same age as Gtk+ 2.6.
|
||||
HAVE_GCONF=no
|
||||
if test "${HAVE_X11}" = "yes" && test "${with_gconf}" = "yes"; then
|
||||
PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.13, HAVE_GCONF=yes, HAVE_GCONF=no)
|
||||
EMACS_CHECK_MODULES([GCONF], [gconf-2.0 >= 2.13])
|
||||
if test "$HAVE_GCONF" = yes; then
|
||||
AC_DEFINE(HAVE_GCONF, 1, [Define to 1 if using GConf.])
|
||||
dnl Newer GConf doesn't link with g_objects, so this is not defined.
|
||||
|
@ -2407,7 +2429,7 @@ if test "${HAVE_X11}" = "yes" && test "${with_gconf}" = "yes"; then
|
|||
fi
|
||||
|
||||
if test "$HAVE_GSETTINGS" = "yes" || test "$HAVE_GCONF" = "yes"; then
|
||||
PKG_CHECK_MODULES(GOBJECT, gobject-2.0 >= 2.0, HAVE_GOBJECT=yes, HAVE_GOBJECT=no)
|
||||
EMACS_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0])
|
||||
if test "$HAVE_GOBJECT" = "yes"; then
|
||||
SETTINGS_CFLAGS="$SETTINGS_CFLAGS $GOBJECT_CFLAGS"
|
||||
SETTINGS_LIBS="$SETTINGS_LIBS $GOBJECT_LIBS"
|
||||
|
@ -2438,12 +2460,14 @@ AC_SUBST(LIBSELINUX_LIBS)
|
|||
HAVE_GNUTLS=no
|
||||
HAVE_GNUTLS3=no
|
||||
if test "${with_gnutls}" = "yes" ; then
|
||||
PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.0.0], HAVE_GNUTLS3=yes, HAVE_GNUTLS3=no)
|
||||
EMACS_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.0.0],
|
||||
[HAVE_GNUTLS3=yes], [HAVE_GNUTLS3=no])
|
||||
if test "${HAVE_GNUTLS3}" = "yes"; then
|
||||
AC_DEFINE(HAVE_GNUTLS3, 1, [Define if using GnuTLS v3.])
|
||||
HAVE_GNUTLS="yes"
|
||||
else
|
||||
PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.6.6], HAVE_GNUTLS=yes, HAVE_GNUTLS=no)
|
||||
EMACS_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.6.6],
|
||||
[HAVE_GNUTLS=yes], [HAVE_GNUTLS=no])
|
||||
fi
|
||||
if test "${HAVE_GNUTLS}" = "yes"; then
|
||||
AC_DEFINE(HAVE_GNUTLS, 1, [Define if using GnuTLS.])
|
||||
|
@ -2485,7 +2509,7 @@ dnl only sense when glib has been compiled with inotify support. How
|
|||
dnl to check?
|
||||
case $with_file_notification,$NOTIFY_OBJ in
|
||||
gfile, | yes,)
|
||||
PKG_CHECK_MODULES(GFILENOTIFY, gio-2.0 >= 2.24, HAVE_GFILENOTIFY=yes, HAVE_GFILENOTIFY=no)
|
||||
EMACS_CHECK_MODULES([GFILENOTIFY], [gio-2.0 >= 2.24])
|
||||
if test "$HAVE_GFILENOTIFY" = "yes"; then
|
||||
AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.])
|
||||
NOTIFY_OBJ=gfilenotify.o
|
||||
|
@ -2759,7 +2783,8 @@ fi
|
|||
|
||||
### Start of font-backend (under X11) section.
|
||||
if test "${HAVE_X11}" = "yes"; then
|
||||
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2.0, HAVE_FC=yes, HAVE_FC=no)
|
||||
EMACS_CHECK_MODULES([FONTCONFIG], [fontconfig >= 2.2.0],
|
||||
[HAVE_FC=yes], [HAVE_FC=no])
|
||||
|
||||
## Use -lXft if available, unless `--with-xft=no'.
|
||||
HAVE_XFT=maybe
|
||||
|
@ -2768,7 +2793,7 @@ if test "${HAVE_X11}" = "yes"; then
|
|||
fi
|
||||
if test "x${with_xft}" != "xno"; then
|
||||
|
||||
PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
|
||||
EMACS_CHECK_MODULES([XFT], [xft >= 0.13.0], [], [HAVE_XFT=no])
|
||||
## Because xftfont.c uses XRenderQueryExtension, we also
|
||||
## need to link to -lXrender.
|
||||
HAVE_XRENDER=no
|
||||
|
@ -2807,8 +2832,7 @@ if test "${HAVE_X11}" = "yes"; then
|
|||
dnl ftfont.o: undefined reference to symbol 'FT_New_Face'
|
||||
dnl if -lfreetype is not specified.
|
||||
dnl The following is needed to set FREETYPE_LIBS.
|
||||
PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes,
|
||||
HAVE_FREETYPE=no)
|
||||
EMACS_CHECK_MODULES([FREETYPE], [freetype2])
|
||||
|
||||
test "$HAVE_FREETYPE" = "no" && AC_MSG_ERROR(libxft requires libfreetype)
|
||||
fi
|
||||
|
@ -2818,8 +2842,7 @@ if test "${HAVE_X11}" = "yes"; then
|
|||
AC_DEFINE(HAVE_FREETYPE, 1,
|
||||
[Define to 1 if using the freetype and fontconfig libraries.])
|
||||
if test "${with_libotf}" != "no"; then
|
||||
PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes,
|
||||
HAVE_LIBOTF=no)
|
||||
EMACS_CHECK_MODULES([LIBOTF], [libotf])
|
||||
if test "$HAVE_LIBOTF" = "yes"; then
|
||||
AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.])
|
||||
AC_CHECK_LIB(otf, OTF_get_variation_glyphs,
|
||||
|
@ -2838,7 +2861,7 @@ if test "${HAVE_X11}" = "yes"; then
|
|||
HAVE_M17N_FLT=no
|
||||
if test "${HAVE_LIBOTF}" = yes; then
|
||||
if test "${with_m17n_flt}" != "no"; then
|
||||
PKG_CHECK_MODULES(M17N_FLT, m17n-flt, HAVE_M17N_FLT=yes, HAVE_M17N_FLT=no)
|
||||
EMACS_CHECK_MODULES([M17N_FLT], [m17n-flt])
|
||||
if test "$HAVE_M17N_FLT" = "yes"; then
|
||||
AC_DEFINE(HAVE_M17N_FLT, 1, [Define to 1 if using libm17n-flt.])
|
||||
fi
|
||||
|
@ -3204,7 +3227,7 @@ HAVE_XRANDR=no
|
|||
if test "${HAVE_X11}" = "yes"; then
|
||||
XRANDR_REQUIRED=1.2.2
|
||||
XRANDR_MODULES="xrandr >= $XRANDR_REQUIRED"
|
||||
PKG_CHECK_MODULES(XRANDR, $XRANDR_MODULES, HAVE_XRANDR=yes, HAVE_XRANDR=no)
|
||||
EMACS_CHECK_MODULES([XRANDR], [$XRANDR_MODULES])
|
||||
if test $HAVE_XRANDR = no; then
|
||||
# Test old way in case pkg-config doesn't have it (older machines).
|
||||
AC_CHECK_HEADER(X11/extensions/Xrandr.h,
|
||||
|
@ -3233,8 +3256,7 @@ HAVE_XINERAMA=no
|
|||
if test "${HAVE_X11}" = "yes"; then
|
||||
XINERAMA_REQUIRED=1.0.2
|
||||
XINERAMA_MODULES="xinerama >= $XINERAMA_REQUIRED"
|
||||
PKG_CHECK_MODULES(XINERAMA, $XINERAMA_MODULES, HAVE_XINERAMA=yes,
|
||||
HAVE_XINERAMA=no)
|
||||
EMACS_CHECK_MODULES([XINERAMA], [$XINERAMA_MODULES])
|
||||
if test $HAVE_XINERAMA = no; then
|
||||
# Test old way in case pkg-config doesn't have it (older machines).
|
||||
AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
||||
|
@ -3256,7 +3278,7 @@ AC_SUBST(XINERAMA_LIBS)
|
|||
HAVE_LIBXML2=no
|
||||
if test "${with_xml2}" != "no"; then
|
||||
### I'm not sure what the version number should be, so I just guessed.
|
||||
PKG_CHECK_MODULES(LIBXML2, libxml-2.0 > 2.6.17, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
|
||||
EMACS_CHECK_MODULES([LIBXML2], [libxml-2.0 > 2.6.17])
|
||||
# Built-in libxml2 on OS X 10.8 lacks libxml-2.0.pc.
|
||||
if test "${HAVE_LIBXML2}" != "yes" -a "$opsys" = "darwin"; then
|
||||
SAVE_CPPFLAGS="$CPPFLAGS"
|
||||
|
|
Loading…
Add table
Reference in a new issue