Package: libtool;
Reported by: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Date: Fri, 2 Nov 2012 09:54:01 UTC
Severity: normal
Tags: patch
To reply to this bug, email your comments to 12786 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-libtool <at> gnu.org
:bug#12786
; Package libtool
.
(Fri, 02 Nov 2012 09:54:02 GMT) Full text and rfc822 format available.Stefano Lattarini <stefano.lattarini <at> gmail.com>
:bug-libtool <at> gnu.org
.
(Fri, 02 Nov 2012 09:54:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Stefano Lattarini <stefano.lattarini <at> gmail.com> To: Nick Bowler <nbowler <at> elliptictech.com> Cc: autoconf-patches <at> gnu.org, bug-libtool <at> gnu.org, "automake-patches <at> gnu.org" <automake-patches <at> gnu.org> Subject: Re: [PATCH 0/2] AC_CONFIG_MACRO_DIRS: implementation and documentation Date: Fri, 02 Nov 2012 10:50:34 +0100
[+cc: automake-patches, bug-libtool] [re-sending because delivery to automake and autoconf lists failed] References: <http://lists.gnu.org/archive/html/autoconf-patches/2012-10/msg00007.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> On 11/01/2012 07:05 PM, Nick Bowler wrote: > Hi Stefano, sorry for the delay. > Hi Nick, and thanks for the testing. > On 2012-10-31 11:03 +0100, Stefano Lattarini wrote: >> On 10/23/2012 12:59 AM, Nick Bowler wrote: >>> I am going to try all these patches to automake/autoconf/libtool soon; I >>> will report back with the results! >>> >> Has anybody had a chance to try these patches? If not, does anyone >> object to the idea of committing them anyway, and see how things work >> out? It doesn't seem we're near to a release, so there's ample time >> to revert these changes before cutting Autoconf 2.70, in case they >> won't work as expected, or will reveal unforeseen issues. > I got a chance to try these. I applied the patches on top of latest git > autoconf and automake, as of today, and also checked out latest git > libtool. > > I tried converting a package to use these, which originally had > ACLOCAL_AMFLAGS = -I m4 -I common/m4. I removed the ACLOCAL_AMFLAGS > from Makefile.am and added AC_CONFIG_MACRO_DIRS([m4 common/m4]) to > configure.ac. Here are some initial observations: > > 1) Newlines can be used to separate items in AC_CONFIG_FILES, etc. > However, aclocal explodes if you try to do this with > AC_CONFIG_MACRO_DIRS: > > Use of uninitialized value $macro in exists at /tmp/autotools-test/bin/aclocal line 753, <GEN40> line 2. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN40> line 2. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN40> line 2. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN40> line 2. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 760, <GEN40> line 2. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 764, <GEN40> line 2. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 768, <GEN40> line 2. > Use of uninitialized value $macro in exists at /tmp/autotools-test/bin/aclocal line 753, <GEN82> line 3. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN82> line 3. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN82> line 3. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN82> line 3. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 760, <GEN82> line 3. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 764, <GEN82> line 3. > Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 768, <GEN82> line 3. > > This strikes me as extremely odd because the output > of autoconf --trace AC_CONFIG_MACRO_DIRS is the same > in either case. > I can reproduce the problem. The patch below enhances the automake testsuite in order to catch it. I hope I'll be able to come up with a fix soon enough. > 2) Git libtool seems broken, as libtoolize is deleting files installed > by gnulib-tool into the snippet directory. This breaks the build. > I suspect the problem is unrelated to the AC_CONFIG_MACRO_DIRS > change, but git libtool was required to test it. > > 3) Libtoolize still complains that ACLOCAL_AMFLAGS is not set in > Makefile.am, but the warning seems harmless and it nevertheless > prints that it has picked up AC_CONFIG_MACRO_DIRS. > I believe these issues should be reported to the libtool developers, so I've added the bug-libtool list in CC:. > 4) I get a bunch of new warnings from aclocal, of the form: > > configure.ac:42: warning: DX_EXPORTED_SH is m4_require'd but not m4_defun'd > > The invocation comes from an AC_REQUIRE([DX_EXPORTED_SH]) and the > DX_EXPORTED_SH macro is expected to be picked up by aclocal -- it is, > and things seem to work in the end, but the warnings are annoying > (and are printed multiple times). > And you say they weren't there before these series? Or is this regression already present in master? I'll investigate. > Other than requiring a manual workaround for item #2, everything seems > to be working at a first glance. I can cook up some test cases for > these issues if necessary. > For the automake part, there should be no need of test cases: your description is clear and precise enough that I can cook up some myself, and that will save hassles with copyright issues and assignment forms. > These all look like fixable problems to me. > > Cheers, Thanks again, Stefano ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- From 5716ef6d6483183721ef47dbba1b9bbf142ee2d9 Mon Sep 17 00:00:00 2001 Message-Id: <5716ef6d6483183721ef47dbba1b9bbf142ee2d9.1351849552.git.stefano.lattarini <at> gmail.com> From: Stefano Lattarini <stefano.lattarini <at> gmail.com> Date: Fri, 2 Nov 2012 10:09:36 +0100 Subject: [PATCH] tests: better coverage for AC_CONFIG_MACRO_DIRS Suggested by a report from Nick Bowler: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> * t/aclocal-macrodirs.sh: Enhance to check use of extra whitespaces and newline characters in the arguments to AC_CONFIG_MACRO_DIRS. Other minor edits, enhancements, and simplification. Signed-off-by: Stefano Lattarini <stefano.lattarini <at> gmail.com> --- t/aclocal-macrodirs.tap | 53 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/t/aclocal-macrodirs.tap b/t/aclocal-macrodirs.tap index a0eeb96..00d2359 100755 --- a/t/aclocal-macrodirs.tap +++ b/t/aclocal-macrodirs.tap @@ -26,7 +26,7 @@ am_create_testdir=empty END } || skip_all_ "autoconf doesn't define the AC_CONFIG_MACRO_DIRS macro" -plan_ 11 +plan_ 12 ocwd=$(pwd) || fatal_ "getting current working directory" ACLOCAL_PATH=; unset ACLOCAL_PATH @@ -99,23 +99,21 @@ test_end #--------------------------------------------------------------------------- -two_dirs_check () +three_dirs_check () { - if test $have_macrodirs = no; then - directive=SKIP - reason='AC_CONFIG_MACRO_DIRS not supported' - return - fi - mkdir sys-dir dir1 dir2 + mkdir dir1 dir2 dir3 echo 'AC_DEFUN([MY_FOO], [::my::foo::])' > dir1/foo.m4 echo 'AC_DEFUN([MY_BAR], [!!my!!bar!!])' > dir2/zap.m4 + echo 'AC_DEFUN([MY_BAZ], [==my==baz==])' > dir3/0.m4 $ACLOCAL \ && $FGREP 'm4_include([dir1/foo.m4])' aclocal.m4 \ && $FGREP 'm4_include([dir2/zap.m4])' aclocal.m4 \ + && $FGREP 'm4_include([dir3/0.m4])' aclocal.m4 \ && $AUTOCONF \ - && not $EGREP 'MY_(FOO|BAR)' configure \ + && not $EGREP 'MY_(FOO|BAR|BAZ)' configure \ && $FGREP '::my::foo::' configure \ && $FGREP '!!my!!bar!!' configure \ + && $FGREP '==my==baz==' configure \ || r='not ok' } @@ -125,12 +123,13 @@ test_begin "AC_CONFIG_MACRO_DIRS: several arguments" cat > configure.ac <<'END' AC_INIT([more-args], [0.2]) -AC_CONFIG_MACRO_DIRS([dir1 dir2]) +AC_CONFIG_MACRO_DIRS([dir1 dir2 dir3]) MY_FOO MY_BAR +MY_BAZ END -two_dirs_check +three_dirs_check test_end @@ -141,12 +140,35 @@ test_begin "AC_CONFIG_MACRO_DIRS: several calls" cat > configure.ac <<'END' AC_INIT([more-calls], [2.0]) AC_CONFIG_MACRO_DIRS([dir1]) -AC_CONFIG_MACRO_DIRS([dir2]) +AC_CONFIG_MACRO_DIRS([dir2 dir3]) +MY_FOO +MY_BAR +MY_BAZ +END + +three_dirs_check + +test_end + +#--------------------------------------------------------------------------- + +test_begin "AC_CONFIG_MACRO_DIRS: extra whitespace" + +bslash=\\ + +cat > configure.ac <<END +AC_INIT([more-args], [0.2]) +AC_CONFIG_MACRO_DIRS([ dir1${bslash} +${tab} dir2 ${tab}${tab}dir3 +${bslash} + +]) MY_FOO MY_BAR +MY_BAZ END -two_dirs_check +three_dirs_check test_end @@ -174,11 +196,6 @@ test_end two_dirs_install_check () { - if test $have_macrodirs = no; then - directive=SKIP - reason='AC_CONFIG_MACRO_DIRS not supported' - return - fi mkdir sys-dir dir1 dir2 echo 'AC_DEFUN([THE_MACRO], [:])' > sys-dir/my.m4 echo 'AC_DEFUN([AX_FOO], [:])' > dir2/zap.m4 -- 1.8.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.