axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] [build-improvements] Requests for discussion


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] [build-improvements] Requests for discussion
Date: Wed, 02 Aug 2006 15:03:30 +0200
User-agent: Thunderbird 1.5.0.5 (X11/20060719)

Hi Gaby,

| 3) For developers who want to work on the build process and need to
| change configure.ac.pamphlet. Here
| | ./configure
|       make configure

That is too circular and too complicated. It is a good recipe for subtle
bugs.  We don't want to be too clever at that level.

|       autoconf configure.ac > configure
|       ./configure
|       make
|       make install

Currently, here is the sequence I propose -- and I'm using right now

    (1) modify configure.ac.pamphlet
    (2) run ./build-setup.sh            -- you don't need to know what
                                        -- it does, except it does the
                                        -- right thing for you
    (3) ./configure && make && make install

First of all let me say that I have no idea how all this autoconf/automake works... So I expect to learn something through this thread.

I don't see a difference between

>     (1) modify configure.ac.pamphlet
>     (2) run ./build-setup.sh

and my suggested

        modify configure.ac.pamphlet
        make configure

In my previous mail I suggested "./configure && make configure" but that was only to make sure that "noweb" is found by "configure" if you have it installed somewhere, then of course you don't need to run 'configure'.

Now whether you call "build-setup.sh" or "make configure" isn't much of a difference. Is it? It is responsible for creating configure.ac from configure.ac.pamphlet.

I know that "make" checks whether the "Makefile" is as new as it could be. But does it check whether there is Makefile.in or Makefile.am and re-generates the Makefile from that???

And why do you insist on having all Makefiles generated during "configure"? For me it is perfectly fine if the Makefiles are regenerated from their .pamphlets during the build of Axiom. It is only that the Makefiles should more rely on variables that define programs like using ${TAR} instead of just tar.

Or is the whole thing more complicated than I think?

| Gaby, it is only you who must run
| | notangle configure.ac.pamphlet > configure.ac
| autoconf configure.ac > configure

I do expect other developers making changes to
configure.ac.pamphlet (and later to any Makefile.am.pamphlet) to run
equivalent commands.  Fortunately, that is all taken care of by
build-setup.sh.  :-)

So each time I modify a file which is called configure.ac.pamphlet or Makefile.am.pamphlet, I should run "build-setup.sh". What if I forget that? There should be at least a warning telling me that I should run "build-setup.sh".

build-setup.sh is not an end-user stuff.  It is only for maintainers
of the build machinery.

That's clear.

Bill suggested we don't keep configure.ac.  I fear we must kepp it --
for the purpose of preventing the build machinery maintainers from
introducing subtle bugs.  Components of Autotools have dependency on
such files in several circumstances.

Can you make up an example so that we see what problems can occur and appreciate why we should keep configure.ac. Then that should be documented (in a pamphlet file) describing the build process. Currently, I also don't feel need for configure.ac, given that maintainers have noweb and configure.ac.pamphlet.

Ralf




reply via email to

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