view m4/warnings.m4 @ 15476:d569119b11e7

include-next, warnings: support older autoconf Older autoconf did not know how to peer through quoting of the m4 macro created by AS_VAR_PUSHDEF; while newer autoconf has been patched to allow typical autoconf quoting rules to still apply, compatibility with autoconf 2.59 requires the unquoted use of the macro name for all uses prior to AS_VAR_POPDEF. absolute-header.m4 and warn-on-use.m4 already got this right. * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use AS_VAR_PUSHDEF in a way that works with older autoconf. * m4/warnings.m4 (gl_WARN_ADD): Likewise. Reported by Daniel P. Berrange. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Tue, 26 Jul 2011 13:58:26 -0600
parents fce34e91a9ce
children f10877c6816b
line wrap: on
line source

# warnings.m4 serial 4
dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.

dnl From Simon Josefsson

# gl_AS_VAR_APPEND(VAR, VALUE)
# ----------------------------
# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
m4_ifdef([AS_VAR_APPEND],
[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])],
[m4_define([gl_AS_VAR_APPEND],
[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])

# gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS])
# ------------------------------------------------
# Adds parameter to WARN_CFLAGS if the compiler supports it.  For example,
# gl_WARN_ADD([-Wparentheses]).
AC_DEFUN([gl_WARN_ADD],
[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl
AC_CACHE_CHECK([whether compiler handles $1], m4_defn([gl_Warn]), [
  gl_save_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="${CPPFLAGS} $1"
  AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
                    [AS_VAR_SET(gl_Warn, [yes])],
                    [AS_VAR_SET(gl_Warn, [no])])
  CPPFLAGS="$gl_save_CPPFLAGS"
])
AS_VAR_PUSHDEF([gl_Flags], m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]))dnl
AS_VAR_IF(gl_Warn, [yes], [gl_AS_VAR_APPEND([gl_Flags], [" $1"])])
AS_VAR_POPDEF([gl_Flags])dnl
AS_VAR_POPDEF([gl_Warn])dnl
m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl
])