This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Libtool".
The branch, master has been updated via 6c51572ae0748629da0144ed5b640a3e7abc35d3 (commit) via 670283ee701b1e8b781e8250ccf4911443e683eb (commit) via 25b3dda2161d2893c0d642ace0ec13297dfbe835 (commit) via 9477e33ef07253559bf95eef379e2ecc740201c7 (commit) via 55262b6fe432ee00ef2acf8b76d37b9ed459cf46 (commit) via f8061eabaf08f75f5f0430a59bb20f4344838b0e (commit) via 3f951c3817755277513f144c5b0f8b488ddff56b (commit) from 55fd801b97a669ba5336836ce7b8971b8673a517 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6c51572ae0748629da0144ed5b640a3e7abc35d3 Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 12:23:39 2012 +0700 bootstrap: always extract only the first AC_CONFIG_MACRO_DIR arg. Previous versions of bootstrap concatenated all the arguments to multiple invocations of AC_CONFIG_MACRO_DIR when extracting the macro_dir directory name. This change enforces correct and consistent behaviour. * libtoolize.in (func_require_macro_dir): Use the new func_extract_trace_first function to make sure the first argument is always used. (func_require_aux_dir, func_require_gnulib_mk) (func_require_source_base): Future proof these functions against multiple invocations or additional arguments to the macros they trace. Signed-off-by: Gary V. Vaughan <g...@gnu.org> commit 670283ee701b1e8b781e8250ccf4911443e683eb Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 12:09:37 2012 +0700 bootstrap: extract *first* ACLOCAL_AMFLAGS -I argument. * bootstrap (func_require_macro_dir): .* is greedy, so _G_sed_scan as it was will always return the last -I argument, which is wrong. Move to a shell loop to ensure we always get the first -I argument if any. (code from libtoolize.in). Signed-off-by: Gary V. Vaughan <g...@gnu.org> commit 25b3dda2161d2893c0d642ace0ec13297dfbe835 Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 14:12:59 2012 +0700 bootstrap: use short gnu.org urls consistently. * bootstrap.conf (buildreq): Use gnu.org/s/ style urls to match the ones added automatically by the main bootstrap script. Signed-off-by: Gary V. Vaughan <g...@gnu.org> commit 9477e33ef07253559bf95eef379e2ecc740201c7 Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 12:32:25 2012 +0700 libtoolize: fix a misspelled variable name. * libtoolize.in (func_require_am_macro_dir): The loop uses _G_arg not _G_opt. Now spelled correctly. Signed-off-by: Gary V. Vaughan <g...@gnu.org> commit 55262b6fe432ee00ef2acf8b76d37b9ed459cf46 Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 12:23:39 2012 +0700 tests: always extract only the first AC_CONFIG_MACRO_DIR arg. Previous releases of libtoolize used the final invocation when there were several, and after the rewrite over extract-trace, all the invocation directories were concatenated. This change enforces correct and consistent behaviour. * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIR invocation): New test. * build-aux/extract-trace (func_extract_trace_first): New function for clients that source this file, which returns only the first argument to the first invocation of the named macros. * libtoolize.in (func_require_ac_macro_dir): Use it to make sure the first argument is always used. (func_require_ac_aux_dir, func_require_ac_ltdl_dir) (func_require_ac_ltdl_options): Future proof these functions against multiple invocations or additional arguments to the macros they trace. * News (Important incompatible changes): Note change in semantics. Reported by Eric Blake. Signed-off-by: Gary V. Vaughan <g...@gnu.org> commit f8061eabaf08f75f5f0430a59bb20f4344838b0e Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 12:23:39 2012 +0700 tests: always extract only the first ACLOCAL_AMFLAGS include arg. * tests/libtoolize.at (libtoolize ACLOCAL_AMFLAGS extraction): New test. * libtoolize.in (func_check_macros): Display the correct advice when ACLOCAL_AMFLAGS specifies a macrodir, but AC_CONFIG_MACRO_DIR does not. Signed-off-by: Gary V. Vaughan <g...@gnu.org> commit 3f951c3817755277513f144c5b0f8b488ddff56b Author: Gary V. Vaughan <g...@gnu.org> Date: Fri Oct 19 12:07:38 2012 +0700 doc: add a missing period following @xref. * doc/libtool.texi: Silence a warning by adding back a missing period. Signed-off-by: Gary V. Vaughan <g...@gnu.org> ----------------------------------------------------------------------- Summary of changes: NEWS | 6 +++ bootstrap | 29 +++++++++------- bootstrap.conf | 6 ++-- build-aux/extract-trace | 15 ++++++++ doc/libtool.texi | 2 +- libtoolize.in | 20 +++++----- tests/libtoolize.at | 84 ++++++++++++++++++++++++++++++++++++++++++---- 7 files changed, 128 insertions(+), 34 deletions(-) diff --git a/NEWS b/NEWS index 17436b1..ad1d8f9 100644 --- a/NEWS +++ b/NEWS @@ -70,6 +70,12 @@ NEWS - list of user-visible changes between releases of GNU Libtool upgrade to the more standard naming of `ltdl.mk' in keeping with other GNU projects. + - libtoolize now behaves consistenty in respect of multiple directory + arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG- + _MACRO_DIRS, where the first directory is always selected. Previous + releases took the first ACLOCAL_AMFLAGS argument, but the last + invocation of AC_CONFIG_MACRO_DIRS. + New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team: * New features: diff --git a/bootstrap b/bootstrap index cdcdf4c..b81d605 100755 --- a/bootstrap +++ b/bootstrap @@ -951,8 +951,8 @@ func_require_build_aux () $debug_cmd test -n "$build_aux" || { - func_extract_trace AC_CONFIG_AUX_DIR - build_aux=$func_extract_trace_result + func_extract_trace_first AC_CONFIG_AUX_DIR + build_aux=$func_extract_trace_first_result func_check_configuration build_aux \ "AC_CONFIG_AUX_DIR([name of a directory for build scripts])" @@ -1294,8 +1294,8 @@ func_require_gnulib_mk () $require_gnulib_cache $require_macro_dir - func_extract_trace "gl_MAKEFILE_NAME" "$gnulib_cache" - gnulib_mk=$func_extract_trace_result + func_extract_trace_first "gl_MAKEFILE_NAME" "$gnulib_cache" + gnulib_mk=$func_extract_trace_first_result test -n "$gnulib_mk" && func_verbose "gnulib_mk='$gnulib_mk'" } @@ -1484,18 +1484,23 @@ func_require_macro_dir () # Sometimes this is stored in `configure.ac'. test -n "$macro_dir" || { - func_extract_trace AC_CONFIG_MACRO_DIR - macro_dir=$func_extract_trace_result + func_extract_trace_first AC_CONFIG_MACRO_DIR + macro_dir=$func_extract_trace_first_result } # Otherwise we might find it in `Makefile.am'. test -n "$macro_dir" || { $require_aclocal_amflags - _G_sed_scan='s|^.*-I[ ]*\([^ ]*\) .*|\1|' - - # Trailing space in echo is required by the sed script. - macro_dir=`echo "$aclocal_amflags " |$SED "$_G_sed_scan"` + # Take the argument following the first '-I', if any. + _G_minus_I_seen=false + for _G_arg in $aclocal_amflags; do + case $_G_minus_I_seen,$_G_arg in + :,*) macro_dir=$_G_arg; break ;; + *,-I) _G_minus_I_seen=: ;; + *,-I*) macro_dir=`expr x$_G_arg : 'x-I\(.*\)$'`; break ;; + esac + done } func_verbose "macro_dir='$macro_dir'" @@ -1691,9 +1696,9 @@ func_require_source_base () test -f "$gnulib_cache" && test -z "$source_base" && { $require_macro_dir - func_extract_trace "gl_SOURCE_BASE" "$gnulib_cache" + func_extract_trace_first "gl_SOURCE_BASE" "$gnulib_cache" - source_base=$func_extract_trace_result + source_base=$func_extract_trace_first_result func_verbose "source_base='$source_base'" } diff --git a/bootstrap.conf b/bootstrap.conf index 2c6101f..745b51c 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -44,9 +44,9 @@ checkout_only_file=HACKING # List of programs (and minimum versions) required to bootstrap, maintain # and release Libtool. buildreq=" - help2man 1.29 http://www.gnu.org/software/help2man - make 3.81 http://www.gnu.org/software/make - makeinfo 4.8 http://www.gnu.org/software/texinfo + help2man 1.29 http://www.gnu.org/s/help2man + make 3.81 http://www.gnu.org/s/make + makeinfo 4.8 http://www.gnu.org/s/texinfo xz 4.999.8beta http://tukaani.org/xz " diff --git a/build-aux/extract-trace b/build-aux/extract-trace index d8be25c..f133b72 100755 --- a/build-aux/extract-trace +++ b/build-aux/extract-trace @@ -348,6 +348,21 @@ func_extract_trace () } +# func_extract_trace_first MACRO_NAMES [FILENAME]... +# -------------------------------------------------- +# Exactly like func_extract_trace, except that only the first argument +# to the first invocation of one of the comma separated MACRO_NAMES is +# returned in `$func_extract_trace_first_result`. +func_extract_trace_first () +{ + $debug_cmd + + func_extract_trace ${1+"$@"} + func_extract_trace_first_result=`$bs_echo "$func_extract_trace_result" \ + |$SED 's|:.*$||g;1q'` +} + + # func_main [ARG]... # ------------------ func_main () diff --git a/doc/libtool.texi b/doc/libtool.texi index d19db34..fcda2aa 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -6099,7 +6099,7 @@ libtool supports file name conversion in the following scenarios: @tab @pxref{Cygwin/Windows File Name Conversion} @item Unix + Wine @tab MinGW (Windows) -@tab Requires Wine. @xref{Unix/Windows File Name Conversion} +@tab Requires Wine. @xref{Unix/Windows File Name Conversion}. @item MinGW (MSYS) @tab Cygwin @tab Requires @env{LT_CYGPATH}. @xref{LT_CYGPATH}. Provided for testing diff --git a/libtoolize.in b/libtoolize.in index a38be4c..6f63a51 100644 --- a/libtoolize.in +++ b/libtoolize.in @@ -1168,7 +1168,7 @@ func_check_macros () fi # Suggest modern idioms for storing autoconf macros: - $ac_config_macro_dir_advised || if test -z "$ac_macro_dir" || test . = "$macro_dir"; then + $ac_config_macro_dir_advised || if test -z "$macro_dir" || test . = "$macro_dir"; then func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([m4])' to $configure_ac and" func_echo "rerunning $progname, to keep the correct libtool macros in-tree." ac_config_macro_dir_advised=: @@ -1397,7 +1397,7 @@ for base in '' ltdl_; do case $_G_minus_I_seen,$_G_arg in :,*) '$r'=$_G_arg; break ;; *,-I) _G_minus_I_seen=: ;; - *,-I*) '$r'=`expr x$_G_opt : '\''x-I\(.*\)$'\''`; break ;; + *,-I*) '$r'=`expr x$_G_arg : '\''x-I\(.*\)$'\''`; break ;; esac done @@ -1421,8 +1421,8 @@ func_require_ac_aux_dir () $require_configure_ac test -n "$configure_ac" && { - func_extract_trace AC_CONFIG_AUX_DIR - ac_aux_dir=$func_extract_trace_result + func_extract_trace_first AC_CONFIG_AUX_DIR + ac_aux_dir=$func_extract_trace_first_result case $ac_aux_dir in *\$*) @@ -1449,8 +1449,8 @@ func_require_ac_ltdl_dir () $require_configure_ac if test -n "$configure_ac"; then - func_extract_trace LT_CONFIG_LTDL_DIR - ac_ltdl_dir=`expr "$func_extract_trace_result" : '\([^:]*\)'` + func_extract_trace_first LT_CONFIG_LTDL_DIR + ac_ltdl_dir=$func_extract_trace_first_result case $ac_ltdl_dir in *\$*) @@ -1498,8 +1498,8 @@ func_require_ac_ltdl_options () $require_configure_ac if test -n "$configure_ac"; then - func_extract_trace LTDL_INIT - ac_ltdl_options=$func_extract_trace_result + func_extract_trace_first LTDL_INIT + ac_ltdl_options=$func_extract_trace_first_result case $ac_ltdl_options in *\$*) @@ -1524,8 +1524,8 @@ func_require_ac_macro_dir () $require_configure_ac if test -n "$configure_ac"; then - func_extract_trace AC_CONFIG_MACRO_DIR - ac_macro_dir=$func_extract_trace_result + func_extract_trace_first AC_CONFIG_MACRO_DIR + ac_macro_dir=$func_extract_trace_first_result fi require_ac_macro_dir=: diff --git a/tests/libtoolize.at b/tests/libtoolize.at index a8ee938..cd0fa34 100644 --- a/tests/libtoolize.at +++ b/tests/libtoolize.at @@ -122,6 +122,74 @@ LT_AT_CHECK_LIBTOOLIZE([--copy], 1, [ignore], experr) AT_CLEANUP + +## ---------------------------------------- ## +## AC_CONFIG_MACRO_DIR macrodir extraction. ## +## ---------------------------------------- ## + +AT_SETUP([multiple AC_CONFIG_MACRO_DIR invocation]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([first]) +AC_CONFIG_MACRO_DIR([second]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'. +libtoolize: copying file `build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `first'. +libtoolize: copying file `first/libtool.m4' +libtoolize: copying file `first/ltoptions.m4' +libtoolize: copying file `first/ltsugar.m4' +libtoolize: copying file `first/ltversion.m4' +libtoolize: copying file `first/lt~obsolete.m4' +libtoolize: Consider adding `-I first' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + +## ------------------------------------ ## +## ACLOCAL_AMFLAGS macrodir extraction. ## +## ------------------------------------ ## + +AT_SETUP([libtoolize ACLOCAL_AMFLAGS extraction]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I first -I second +]]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'. +libtoolize: copying file `build-aux/ltmain.sh' +libtoolize: putting macros in `first'. +libtoolize: copying file `first/libtool.m4' +libtoolize: copying file `first/ltoptions.m4' +libtoolize: copying file `first/ltsugar.m4' +libtoolize: copying file `first/ltversion.m4' +libtoolize: copying file `first/lt~obsolete.m4' +libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([first])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + ## -------------- ## ## Serial update. ## ## -------------- ## @@ -543,8 +611,8 @@ libtoolize: `/usr/local/share/aclocal/ltoptions.m4' libtoolize: `/usr/local/share/aclocal/ltsugar.m4' libtoolize: `/usr/local/share/aclocal/ltversion.m4' libtoolize: `/usr/local/share/aclocal/lt~obsolete.m4' -libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and -libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. +libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. ]]) @@ -678,8 +746,8 @@ libtoolize: `/usr/local/share/aclocal/libtool.m4' libtoolize: `/usr/local/share/aclocal/ltsugar.m4' libtoolize: `/usr/local/share/aclocal/ltversion.m4' libtoolize: `/usr/local/share/aclocal/lt~obsolete.m4' -libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and -libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. +libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. ]]) @@ -752,8 +820,8 @@ $SED -e 's|^#.*serial.*ltoptions.m4$|# serial 99999 ltoptions.m4|' \ mv -f aclocal.m4t aclocal.m4 AT_DATA([expout], -[[libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and -libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. +[[libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. ]]) @@ -767,8 +835,8 @@ LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) AT_DATA(expout, [[libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./ltmain.sh' -libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and -libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. +libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. ]]) hooks/post-receive -- GNU Libtool