Re: Support for configure.ac
Tom Tromey writes: > > "Akim" == Akim Demaille <[EMAIL PROTECTED]> writes: > > Akim> Once the `make check' finished, I'll check this in: > > Did the bug affect any of the existing test cases? > If not I generally add a new test. As long as the bug was there, I couldn't even get as far as running the test suite ;)
Re: Support for configure.ac
> "Tom" == Tom Tromey <[EMAIL PROTECTED]> writes: > "Akim" == Akim Demaille <[EMAIL PROTECTED]> writes: Akim> Once the `make check' finished, I'll check this in: Tom> Did the bug affect any of the existing test cases? If not I Tom> generally add a new test. Nope, and I was thinking about writing a test case :) I will.
Re: Support for configure.ac
> "Akim" == Akim Demaille <[EMAIL PROTECTED]> writes: Akim> Once the `make check' finished, I'll check this in: Did the bug affect any of the existing test cases? If not I generally add a new test. Tom
Re: Support for configure.ac
[...] > Now I have it. Sorry Lars... The test suite did not see anything... > I'm fixing this. I have added . 's/\@VTEXI\@/' . $vtexi . '/g;' +. 's/\@CONFIGURE_AC\@/' . $configure_ac . '/g;' . 's,\@MDDIR\@,' . $conf_pat . ',g;', and it works now! Thanks Raja and Akim.
Re: Support for configure.ac
Once the `make check' finished, I'll check this in: Index: ChangeLog from Akim Demaille <[EMAIL PROTECTED]> * automake.in (handle_texinfo): Use &transform, and transform CONFIGURE_AC. Reported by Lars Hecking, and diagnosed by Raja R Harinath. Index: automake.in === RCS file: /cvs/automake/automake/automake.in,v retrieving revision 1.818 diff -u -u -r1.818 automake.in --- automake.in 2001/01/16 13:31:54 1.818 +++ automake.in 2001/01/18 17:15:57 @@ -2276,10 +2276,11 @@ ($conf_pat = $conf_dir) =~ s/(\W)/\\$1/g; $output_rules .= &file_contents_with_transform - ('s/\@TEXI\@/' . $info_cursor . '/g; ' -. 's/\@VTI\@/' . $vti . '/g; ' -. 's/\@VTEXI\@/' . $vtexi . '/g;' -. 's,\@MDDIR\@,' . $conf_pat . ',g;', + (&transform ('TEXI' => $info_cursor, +'VTI' => $vti, +'VTEXI'=> $vtexi, +'MDDIR'=> $conf_pat, +'CONFIGURE_AC' => $configure_ac), 'texi-vers'); &push_phony_cleaners ($vti); @@ -3325,7 +3326,7 @@ } else { -local ($xform) = &transform ("CONFIGURE_AC" => $configure_ac); +local ($xform) = &transform ('CONFIGURE_AC' => $configure_ac); &handle_aclocal_m4; $output_rules .= &file_contents_with_transform ($xform, 'remake'); Lars, thanks for your perseverance, and Raja, thanks for helping me. I think it's time I stop. PS: After this patch: ~/src/am % touch Makefile.am nostromo 18:15 ~/src/am % make nostromo 18:15 cd . && /home/lrde/prof/akim/src/am/automake --amdir=. --gnits Makefile cd . \ && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status creating Makefile Making all in . make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am' make[1]: Rien à faire pour `all-am'. make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am' Making all in m4 make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4' make[1]: Rien à faire pour `all'. make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4' Making all in tests make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests' make[1]: Rien à faire pour `all'. make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests'
Re: Support for configure.ac
| I see this even with an installed automake. It appears that | 'texi-vers.am' doesn't have the CONFIGURE_AC transform before being | inserted into Makefile.in. From automake.in, in &handle_texinfo, | around line 2277 | | $output_rules .= | &file_contents_with_transform | ('s/\@TEXI\@/' . $info_cursor . '/g; ' | . 's/\@VTI\@/' . $vti . '/g; ' | . 's/\@VTEXI\@/' . $vtexi . '/g;' | . 's,\@MDDIR\@,' . $conf_pat . ',g;', | 'texi-vers'); | | Note the lack of the @CONFIGURE_AC@ transform. Aaarg! Thank you so much! But how come I don't have this failure? ~/src/am % touch **/Makefile.am nostromo 18:07 ~/src/am % make nostromo 18:08 cd . && /home/lrde/prof/akim/src/am/automake --amdir=. --gnits Makefile cd . \ && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status creating Makefile Making all in . make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am' make[1]: *** Pas de règle pour fabriquer la cible `@CONFIGURE_AC@', nécessaire pour `stamp-vti'. Arrêt. make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am' make: *** [all-recursive] Erreur 1 Now I have it. Sorry Lars... The test suite did not see anything... I'm fixing this.
Re: Support for configure.ac
Akim Demaille writes: > ~/src/am % perl --versionnostromo 17:58 > > This is perl, v5.6.0 built for i386-linux [...] > What do you have? Tried both 5.005_03 and 5.6.0 built for sun4-solaris. It makes no difference.
Re: Support for configure.ac
Lars Hecking <[EMAIL PROTECTED]> writes: > > | At no time an old copy of automake is run. > > > > You don't seem to understand. Make a > > > > diff automake.in automake > > > > and I think you'll see what I mean. > > % grep @CONFIGURE_AC@ Makefile.in > $(srcdir)/stamp-vti: automake.texi $(top_srcdir)/@CONFIGURE_AC@ > % > > If autoconf, not automake is responsible for substituting @CONFIGURE_AC@ > in the Makefile, then this simply doesn't work with autoconf-2.13, only > with autoconf-cvs. I see this even with an installed automake. It appears that 'texi-vers.am' doesn't have the CONFIGURE_AC transform before being inserted into Makefile.in. From automake.in, in &handle_texinfo, around line 2277 $output_rules .= &file_contents_with_transform ('s/\@TEXI\@/' . $info_cursor . '/g; ' . 's/\@VTI\@/' . $vti . '/g; ' . 's/\@VTEXI\@/' . $vtexi . '/g;' . 's,\@MDDIR\@,' . $conf_pat . ',g;', 'texi-vers'); Note the lack of the @CONFIGURE_AC@ transform. - Hari -- Raja R Harinath -- [EMAIL PROTECTED] "When all else fails, read the instructions." -- Cahn's Axiom "Our policy is, when in doubt, do the right thing." -- Roy L Ash
Re: Support for configure.ac
~/src/am % perl --versionnostromo 17:58 This is perl, v5.6.0 built for i386-linux Copyright 1987-2000, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. What do you have?
Re: Support for configure.ac
Akim Demaille writes: > > "Lars" == Lars Hecking <[EMAIL PROTECTED]> writes: > > Lars> I have that, but it still doesn't work. > > What did you type? How did it fail? Do your Makefile.in still have > the @CONFIGURE_AC@ stuff? If so, run `touch *.am; make'. $ touch *.am $ make cd . && /tmp/automake/automake --amdir=. --gnits Makefile cd . \ && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status creating Makefile Making all in . make[1]: Entering directory `/tmp/automake' make[1]: *** No rule to make target `@CONFIGURE_AC@', needed by `stamp-vti'. Stop. make[1]: Leaving directory `/tmp/automake' make: *** [all-recursive] Error 1 $ grep CONFIGURE_AC automake local ($xform) = &transform ("CONFIGURE_AC" => $configure_ac); $xform = &transform ('CONFIGURE_AC' => $configure_ac, > No, @CONFIGURE_AC@ is handled by automake, Apparently not, at least in my case :-( Makefile.in from automake-cvs does not contain @CONFIGURE_AC@, but the one created here by automake-cvs does.
Re: Support for configure.ac
> "Lars" == Lars Hecking <[EMAIL PROTECTED]> writes: Lars> I have that, but it still doesn't work. What did you type? How did it fail? Do your Makefile.in still have the @CONFIGURE_AC@ stuff? If so, run `touch *.am; make'. Lars> My idea is that this new feature in automake is not compatible Lars> with released versions of autoconf. If it were, it should show Lars> up in config.status. Lars> $ grep CONFIGURE_AC config.status $ No, @CONFIGURE_AC@ is handled by automake, not related to configure or autoconf in anyway.
Re: Support for configure.ac
> According to the headers of your mails, somehow, automake finally got > created (the last failure you presented was at X-From-Line: > [EMAIL PROTECTED] Thu Jan 18 13:06:26 2001). So, if indeed you have: In all cases I posted, automake _did_ get created. > ~/src/am % grep CONFIGURE_AC automake > local ($xform) = &transform ("CONFIGURE_AC" => $configure_ac); > $xform = &transform ('CONFIGURE_AC' => $configure_ac, > > then *now* `make' should work. I have that, but it still doesn't work. My idea is that this new feature in automake is not compatible with released versions of autoconf. If it were, it should show up in config.status. $ grep CONFIGURE_AC config.status $
Re: Support for configure.ac
$ diff -u automake.in automake --- automake.in Wed Jan 17 06:30:29 2001 +++ automakeThu Jan 18 13:46:25 2001 According to the headers of your mails, somehow, automake finally got created (the last failure you presented was at X-From-Line: [EMAIL PROTECTED] Thu Jan 18 13:06:26 2001). So, if indeed you have: ~/src/am % grep CONFIGURE_AC automake local ($xform) = &transform ("CONFIGURE_AC" => $configure_ac); $xform = &transform ('CONFIGURE_AC' => $configure_ac, then *now* `make' should work.
Re: Support for configure.ac
> Could you please run > > diff automake.in automake > > and see if it helps you understanding what I'm trying to say? I agree > I'm not clear, and I believe the diff will be much clearer than I am. $ diff -u automake.in automake --- automake.in Wed Jan 17 06:30:29 2001 +++ automakeThu Jan 18 13:46:25 2001 @@ -1,8 +1,8 @@ -#!@PERL@ +#!/bin/perl # -*- perl -*- -# @configure_input@ +# Generated automatically from automake.in by configure. -eval 'exec @PERL@ -S $0 ${1+"$@"}' +eval 'exec /bin/perl -S $0 ${1+"$@"}' if 0; # automake - create Makefile.in from Makefile.am @@ -30,10 +30,10 @@ # Parameters set by configure. Not to be changed. NOTE: assign # VERSION as string so that eg version 0.30 will print correctly. -$VERSION = "@VERSION@"; -$PACKAGE = "@PACKAGE@"; -$prefix = "@prefix@"; -$am_dir = "@datadir@/@PACKAGE@"; +$VERSION = "1.4c"; +$PACKAGE = "automake"; +$prefix = "/usr/local"; +$am_dir = "${prefix}/share/automake"; # String constants. $IGNORE_PATTERN = "^##([^#].*)?\$";
Re: Support for configure.ac
| > | At no time an old copy of automake is run. | > | > You don't seem to understand. Make a | > | > diff automake.in automake | > | > and I think you'll see what I mean. | | % grep @CONFIGURE_AC@ Makefile.in | $(srcdir)/stamp-vti: automake.texi $(top_srcdir)/@CONFIGURE_AC@ | % | | If autoconf, not automake is responsible for substituting @CONFIGURE_AC@ | in the Makefile, then this simply doesn't work with autoconf-2.13, only | with autoconf-cvs. Could you please run diff automake.in automake and see if it helps you understanding what I'm trying to say? I agree I'm not clear, and I believe the diff will be much clearer than I am.
Re: Support for configure.ac
> | At no time an old copy of automake is run. > > You don't seem to understand. Make a > > diff automake.in automake > > and I think you'll see what I mean. % grep @CONFIGURE_AC@ Makefile.in $(srcdir)/stamp-vti: automake.texi $(top_srcdir)/@CONFIGURE_AC@ % If autoconf, not automake is responsible for substituting @CONFIGURE_AC@ in the Makefile, then this simply doesn't work with autoconf-2.13, only with autoconf-cvs.
Re: Support for configure.ac
| > Yes, indeed. But I just switched me brains on, and understood. | > | > Sure you have the new .am files, but since the Makefile want to update | > the Makefiles first, you run an old automake which does not, indeed, | > substitute @CONFIGURE_AC@. So find a means, but you have to `make | > automake' before making the Makefiles. On your system automake.in is | > new, but not automake yet. | | At no time an old copy of automake is run. You don't seem to understand. Make a diff automake.in automake and I think you'll see what I mean.
Re: Support for configure.ac
> Yes, indeed. But I just switched me brains on, and understood. > > Sure you have the new .am files, but since the Makefile want to update > the Makefiles first, you run an old automake which does not, indeed, > substitute @CONFIGURE_AC@. So find a means, but you have to `make > automake' before making the Makefiles. On your system automake.in is > new, but not automake yet. At no time an old copy of automake is run. $ pwd /tmp/automake $ ./configure [...] $ make automake cd . && /tmp/automake/aclocal --acdir=m4 cd . && /tmp/automake/automake --amdir=. --gnits Makefile ^^ cd . && /bin/sh /tmp/automake/missing --run autoconf [...] $ make dist make: *** No rule to make target `@CONFIGURE_AC@', needed by `stamp-vti'. Stop. $
Re: Support for configure.ac
> "Lars" == Lars Hecking <[EMAIL PROTECTED]> writes: Lars> Undoubtedly, automake-cvs running on its own files should Lars> produce something useful, shouldn't it? Yes, indeed. But I just switched me brains on, and understood. Sure you have the new .am files, but since the Makefile want to update the Makefiles first, you run an old automake which does not, indeed, substitute @CONFIGURE_AC@. So find a means, but you have to `make automake' before making the Makefiles. On your system automake.in is new, but not automake yet.
Re: Support for configure.ac
> But your output, compared to mine, contains: > > $ make dist > cd . && /tmp/automake/aclocal --acdir=m4 > cd . && /tmp/automake/automake --amdir=. --gnits Makefile > cd . && /bin/sh /tmp/automake/missing --run autoconf > > i.e., your files are not up to date. Try from a freshly checked out > automake? I was using yesterday's cvs HEAD. Maybe cvs messed up the timestamps? Undoubtedly, automake-cvs running on its own files should produce something useful, shouldn't it?
Re: Support for configure.ac
> "Lars" == Lars Hecking <[EMAIL PROTECTED]> writes: Lars> I posted everything I did. I did not install automake, only ran Lars> configure and make dist straight from a copy of my checked-out Lars> tree. Well, I don't know. ~/src/am % ./configure loading cache ./config.cache checking for a BSD compatible install... (cached) /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... (cached) mawk checking whether make sets ${MAKE}... (cached) yes checking for perl... (cached) /usr/bin/perl creating ./config.status creating Makefile creating automake creating aclocal creating m4/Makefile creating tests/Makefile ~/src/am % make dist nostromo 10:40 chmod -R a+w automake-1.4c > /dev/null 2>&1; rm -rf automake-1.4c mkdir automake-1.4c for subdir in . m4 tests; do \ if test "$subdir" = .; then :; else \ test -d automake-1.4c/$subdir \ || mkdir automake-1.4c/$subdir \ || exit 1; \ (cd $subdir && make top_distdir=../automake-1.4c distdir=../automake-1.4c/$subdir distdir) \ || exit 1; \ fi; \ done make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4' make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4' make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests' make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests' make top_distdir="automake-1.4c" distdir="automake-1.4c" dist-info make[1]: Entre dans le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am' list='automake.info'; \ for base in $list; do \ d=.; \ for file in `CDPATH=: && cd $d && eval echo $base*`; do \ test -f automake-1.4c/$file \ || cp -p $d/$file automake-1.4c/$file; \ done; \ done make[1]: Quitte le répertoire `/mnt/nostromo/home/lrde/prof/akim/src/am' find automake-1.4c -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh ./install-sh -c -m a+r {} {} \; \ || chmod -R a+r automake-1.4c /bin/sh /home/lrde/prof/akim/src/am/missing --run tar chof - automake-1.4c | GZIP=--best gzip -c > automake-1.4c.tar.gz chmod -R a+w automake-1.4c > /dev/null 2>&1; rm -rf automake-1.4c But your output, compared to mine, contains: $ make dist cd . && /tmp/automake/aclocal --acdir=m4 cd . && /tmp/automake/automake --amdir=. --gnits Makefile cd . && /bin/sh /tmp/automake/missing --run autoconf i.e., your files are not up to date. Try from a freshly checked out automake?
Re: Support for configure.ac
> Did you install completely automake? I don't see that problem showing > up. Could you deonstrate the failure in a few steps? Did the test suite > run OK? I posted everything I did. I did not install automake, only ran configure and make dist straight from a copy of my checked-out tree.
Re: Support for configure.ac
On Wed, Jan 17, 2001 at 06:09:34PM +, Lars Hecking wrote: > Akim Demaille writes: > > Will be applied within a couple of minutes. > > I don't think this is working as intended. > > cvs automake as of now. autoconf 2.13. > > $ ./configure > creating cache ./config.cache > checking for a BSD compatible install... /usr/local/gnu/bin/install -c > checking whether build environment is sane... yes > checking for gawk... gawk > checking whether make sets ${MAKE}... yes > checking for perl... /bin/perl > updating cache ./config.cache > creating ./config.status > creating Makefile > creating automake > creating aclocal > creating m4/Makefile > creating tests/Makefile > $ make dist > cd . && /tmp/automake/aclocal --acdir=m4 > cd . && /tmp/automake/automake --amdir=. --gnits Makefile > cd . && /bin/sh /tmp/automake/missing --run autoconf > /bin/sh ./config.status --recheck > running /bin/sh ./configure --no-create --no-recursion > loading cache ./config.cache > checking for a BSD compatible install... (cached) /usr/local/gnu/bin/install -c > checking whether build environment is sane... yes > checking for mawk... (cached) gawk > checking whether make sets ${MAKE}... (cached) yes > checking for perl... (cached) /bin/perl > creating ./config.status > cd . \ > && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status > creating Makefile > make: *** No rule to make target `@CONFIGURE_AC@', needed by `stamp-vti'. Stop. > $ Did you install completely automake? I don't see that problem showing up. Could you deonstrate the failure in a few steps? Did the test suite run OK?
Re: Support for configure.ac
Akim Demaille writes: > Will be applied within a couple of minutes. I don't think this is working as intended. cvs automake as of now. autoconf 2.13. $ ./configure creating cache ./config.cache checking for a BSD compatible install... /usr/local/gnu/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets ${MAKE}... yes checking for perl... /bin/perl updating cache ./config.cache creating ./config.status creating Makefile creating automake creating aclocal creating m4/Makefile creating tests/Makefile $ make dist cd . && /tmp/automake/aclocal --acdir=m4 cd . && /tmp/automake/automake --amdir=. --gnits Makefile cd . && /bin/sh /tmp/automake/missing --run autoconf /bin/sh ./config.status --recheck running /bin/sh ./configure --no-create --no-recursion loading cache ./config.cache checking for a BSD compatible install... (cached) /usr/local/gnu/bin/install -c checking whether build environment is sane... yes checking for mawk... (cached) gawk checking whether make sets ${MAKE}... (cached) yes checking for perl... (cached) /bin/perl creating ./config.status cd . \ && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status creating Makefile make: *** No rule to make target `@CONFIGURE_AC@', needed by `stamp-vti'. Stop. $
Re: Support for configure.ac
Will be applied within a couple of minutes.
Re: Support for configure.ac
If there are no objections, I'll apply this guy on Tuesday.