Hi, Up to now, gl_LOCK must be placed as the last element of gl_EARLY, and no other macros that modify LIBS or CPPFLAGS can be used after gl_LOCK. To resolve these weird constraints, I'm separating the "early" part of the macro (which can modify LIBS or CPPFLAGS) from the "normal" part (which tests for features, using LIBS and CPPFLAGS).
2006-08-23 Bruno Haible <[EMAIL PROTECTED]> * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK. (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation. (gl_LOCK): New macro. * gnulib-tool (func_import, func_create_testdir): Emit an invocation of gl_LOCK_EARLY instead of gl_LOCK. *** m4/lock.m4 11 Jan 2006 13:01:13 -0000 1.4 --- m4/lock.m4 23 Aug 2006 11:58:12 -0000 *************** *** 1,5 **** ! # lock.m4 serial 2 (gettext-0.15) ! dnl Copyright (C) 2005 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. --- 1,5 ---- ! # lock.m4 serial 3 (gettext-0.15.1) ! dnl Copyright (C) 2005-2006 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. *************** *** 19,30 **** dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl multithread-safe programs. ! AC_DEFUN([gl_LOCK], [ AC_REQUIRE([gl_LOCK_BODY]) ]) ! dnl The guts of gl_LOCK. Needs to be expanded only once. AC_DEFUN([gl_LOCK_BODY], [ --- 19,30 ---- dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl multithread-safe programs. ! AC_DEFUN([gl_LOCK_EARLY], [ AC_REQUIRE([gl_LOCK_BODY]) ]) ! dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once. AC_DEFUN([gl_LOCK_BODY], [ *************** *** 227,232 **** --- 227,237 ---- AC_SUBST(LTLIBTHREAD) AC_SUBST(LIBMULTITHREAD) AC_SUBST(LTLIBMULTITHREAD) + ]) + + AC_DEFUN([gl_LOCK], + [ + AC_REQUIRE([gl_LOCK_EARLY]) gl_PREREQ_LOCK ]) *** gnulib-tool 22 Aug 2006 18:57:52 -0000 1.141 --- gnulib-tool 23 Aug 2006 11:58:13 -0000 *************** *** 1563,1569 **** echo " AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])" fi if grep gl_LOCK "$destdir"/$m4base/*.m4 >/dev/null 2>/dev/null; then ! echo " AC_REQUIRE([gl_LOCK])" fi echo "])" echo --- 1563,1569 ---- echo " AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])" fi if grep gl_LOCK "$destdir"/$m4base/*.m4 >/dev/null 2>/dev/null; then ! echo " AC_REQUIRE([gl_LOCK_EARLY])" fi echo "])" echo *************** *** 1821,1827 **** echo fi if grep gl_LOCK "$testdir"/m4/*.m4 >/dev/null 2>/dev/null; then ! echo "gl_LOCK" echo fi if test "$libtool" = true; then --- 1821,1827 ---- echo fi if grep gl_LOCK "$testdir"/m4/*.m4 >/dev/null 2>/dev/null; then ! echo "gl_LOCK_EARLY" echo fi if test "$libtool" = true; then *************** *** 1916,1922 **** echo fi if grep gl_LOCK "$testdir"/m4/*.m4 >/dev/null 2>/dev/null; then ! echo "gl_LOCK" echo fi if test "$libtool" = true; then --- 1916,1922 ---- echo fi if grep gl_LOCK "$testdir"/m4/*.m4 >/dev/null 2>/dev/null; then ! echo "gl_LOCK_EARLY" echo fi if test "$libtool" = true; then