changeset 13381:25bed74b17cc

Avoid expanding two macros in the wrong order.
author Bruno Haible <bruno@clisp.org>
date Tue, 01 Jun 2010 01:26:32 +0200
parents 6f654cc21888
children 64c19ce2ffa0
files ChangeLog m4/libunistring-base.m4 m4/libunistring.m4
diffstat 3 files changed, 18 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-05-31  Bruno Haible  <bruno@clisp.org>
+
+	Avoid expanding two macros in the wrong order.
+	* m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
+	gl_LIBUNISTRING if it is defined.
+	* m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
+	autoconf >= 2.64.
+	Reported by Ludovic Courtès <ludo@gnu.org>.
+
 2010-05-27  Jim Meyering  <meyering@redhat.com>
 
 	maint.mk: also prohibit "#undef" of always-defined symbols
--- a/m4/libunistring-base.m4
+++ b/m4/libunistring-base.m4
@@ -1,4 +1,4 @@
-# libunistring-base.m4 serial 2
+# libunistring-base.m4 serial 3
 dnl Copyright (C) 2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -66,6 +66,9 @@
 
 AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE],
 [
+  dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point.
+  m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])])
+
   AC_REQUIRE([AC_PROG_AWK])
 
 dnl Sed expressions to extract the parts of a version number.
--- a/m4/libunistring.m4
+++ b/m4/libunistring.m4
@@ -1,4 +1,4 @@
-# libunistring.m4 serial 6
+# libunistring.m4 serial 7
 dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -12,7 +12,10 @@
 dnl Otherwise, it sets and AC_SUBSTs HAVE_LIBUNISTRING=no and LIBUNISTRING and
 dnl LTLIBUNISTRING to empty.
 
-AC_DEFUN([gl_LIBUNISTRING],
+dnl Define gl_LIBUNISTRING using AC_DEFUN_ONCE for Autoconf >= 2.64, in order
+dnl to avoid warnings like
+dnl "warning: AC_REQUIRE: `gl_LIBUNISTRING' was expanded before it was required".
+m4_version_prereq([2.64],[AC_DEFUN_ONCE],[AC_DEFUN])([gl_LIBUNISTRING],
 [
   AC_BEFORE([$0], [gl_LIBUNISTRING_LIBSOURCE])
   AC_BEFORE([$0], [gl_LIBUNISTRING_LIBHEADER])