bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gawk] Question about git build system


From: Assaf Gordon
Subject: Re: [bug-gawk] Question about git build system
Date: Mon, 17 Dec 2012 16:57:39 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20120510 Icedove/10.0.4

Hello Arnold,

address@hidden wrote, On 12/17/2012 03:40 PM:
> Assaf Gordon <address@hidden> wrote:
> 
>> 1. When I changed "configure.ac", running "bootstrap.sh" didn't do 
>> "anything".
> 
> Why were you changing configure.ac?  In general, I'm the only one who
> does that. :-)

I was toying with adding the coreutils' trick of fetching the version directly 
from git, resulting in version strings like "4.0.71-7-ab123e-dirty" - which 
will help in developing .

It works nicely, but since it will result in all the checked-in autotools files 
being modified every time, it's not worth it.

> 
> If you have bison/autoconf/automake/gettext/makeinfo installed then the
> easiest way to do that is:
> 
>       ./configure && make     # first time
>       gvim configure.ac       # or emacs, if you must :-)
>       make
> 
> and it all just happens.
> 

This sometimes works (with the configure script) and sometimes doesn't (with 
other autotool files), but it's probably not worth the trouble of fixing it.

One strange instance is that change to "Makefile.am" weren't detected properly:

===
    $ git clone git://git.savannah.gnu.org/gawk.git gawk_reconf2
    $ cd gawk_reconf2
    # build as usual
    $ ./configure  && make
    
    # silly example, just to demonstrate a makefile.am change
    $ sed -i '/re\.c/s/re\.c/re.c gordon.c/' Makefile.am 
    
    # compiling still works, so the changed "makefile.am" was not properly 
picked-up.
    # (because 'gordon.c' doesn't exist).
    $ make
    # some autotools files are re-generated, but not all.
    # make finishes without error - not good.
=== 

Compared with SED (which uses autotools differently):
===
    $ git clone git://git.savannah.gnu.org/sed.git sed_reconf2
    $ cd sed_reconf2/
    # build as usual
    $ ./autoboot && ./configure && make

    # silly change, should force re-generation of autotools
    $ sed -i 's/utils\.c/utils.c gordon.c/' sed/Makefile.am

    # make fails, as it should.
    $ make
    # all autotools files are re-generated, resulting in an error (which is OK).
    make[2]: Leaving directory `/home/gordon/temp/sed_reconf2/sed'
    make[2]: Entering directory `/home/gordon/temp/sed_reconf2/sed'
    make[2]: *** No rule to make target `gordon.o', needed by `sed'.  Stop.
    make[2]: Leaving directory `/home/gordon/temp/sed_reconf2/sed'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/gordon/temp/sed_reconf2'
    make: *** [all] Error 2
===




Another warning (probably harmless, but not sure) is that since some of the 
autotool files were built on your (Arnold's) system, I get the following (my 
system has Automake 1.12.5).
===
configure.ac:43: error: version mismatch.  This is Automake 1.12.5,
configure.ac:43: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:43: comes from Automake 1.12.6.  You should recreate
configure.ac:43: aclocal.m4 with aclocal and run automake again.
WARNING: 'automake-1.12' is probably too old.  You should only need it if
         you modified 'Makefile.am', 'acinclude.m4' or 'configure.ac'.
         You might want to install the Automake and Perl packages.
         Grab them from any GNU archive site.
===

Whereas if I do the whole sequence (aclocal+autoconf+autoheader+automake) - 
then all the files are built using the current versions on my system.


-gordon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]