OK to apply this patch? Right now, the autoconf list is debating whether AC_PROG_AWK should remain AC_DEFUN or switch to AC_DEFUN_ONCE (we have already proven that AC_PROG_CC cannot be AC_DEFUN_ONCE, as existing macros intentionally use conditional expansion of the macro, and switching to defun_once would hoist the expansion outside the conditional). At any rate, if AC_PROG_AWK remains unchanged, then we should require it rather than directly invoke it. Also, changing AC_PROG_MKDIR_P to be a defun_once makes for smaller configure files, so whether or not autoconf makes the switch, we should do it when providing a backwards-compatibility replacement.
From: Eric Blake <e...@byu.net> Date: Wed, 28 Jan 2009 09:16:10 -0700 Subject: [PATCH] fix more require-before-expand issues * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than expand, AC_PROG_AWK. * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE. Signed-off-by: Eric Blake <e...@byu.net> --- ChangeLog | 7 +++++++ m4/gnulib-common.m4 | 4 ++-- m4/pmccabe2html.m4 | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index c0eb833..f450583 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2009-01-28 Eric Blake <e...@byu.net> + fix more require-before-expand issues + * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than + expand, AC_PROG_AWK. + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE. + +2009-01-28 Eric Blake <e...@byu.net> + version-etc: use consistent URL formatting * lib/version-etc.c (emit_bug_reporting_address, version_etc_va): Improve formatting. Use fputs for string without %. diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index fff9d0f..50e399a 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,4 +1,4 @@ -# gnulib-common.m4 serial 9 +# gnulib-common.m4 serial 10 dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -53,7 +53,7 @@ m4_ifndef([m4_foreach_w], # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. # Remove this macro when we can assume autoconf >= 2.60. m4_ifdef([AC_PROG_MKDIR_P], [], [ - AC_DEFUN([AC_PROG_MKDIR_P], + AC_DEFUN_ONCE([AC_PROG_MKDIR_P], [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) diff --git a/m4/pmccabe2html.m4 b/m4/pmccabe2html.m4 index 5e20742..2985f7c 100644 --- a/m4/pmccabe2html.m4 +++ b/m4/pmccabe2html.m4 @@ -1,5 +1,5 @@ -# pmccabe2html.m4 serial 1 -dnl Copyright (C) 2008 Free Software Foundation, Inc. +# pmccabe2html.m4 serial 2 +dnl Copyright (C) 2008, 2009 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. @@ -9,6 +9,6 @@ dnl From Simon Josefsson # Usage: gl_PMCCABE2HTML([]). AC_DEFUN([gl_PMCCABE2HTML], [ - AC_PROG_AWK + AC_REQUIRE([AC_PROG_AWK]) AC_PATH_PROG([PMCCABE], [pmccabe], [false]) ]) -- 1.6.0.4