automake
[Top][All Lists]
Advanced

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

Re: multiple AM_INIT_AUTOMAKEs cause problems


From: Christopher Sean Morrison
Subject: Re: multiple AM_INIT_AUTOMAKEs cause problems
Date: Thu, 30 Jun 2005 12:32:50 -0400

That's unfortunate but good to know that it doesn't output both or a means to dynamically select it after running automake. That being the case, I'm wondering if there is something that I can do at autogen.sh time instead (which runs either autoreconf if it can or all the steps individually if autoreconf fails).

Is there a way to pass "no-dependencies" to automake through autoreconf? I of course could automatically edit the configure.ac depending on the existence of CVS directories to uncomment/comment the line or even just directly edit the AM_INIT_AUTOMAKE options to add the no-dependencies option. That is less than desireable, though, for various hopefully evident reasons.

Alternatively, I should be able to run automake again after autoreconf completes and directly pass the no-dependencies option, perhaps requiring a run of config.status --recheck too? Thanks again for the help and suggestions.

Cheers!
Sean


Date: Wed, 29 Jun 2005 07:45:24 +0200
From: Stepan Kasal <address@hidden>
Subject: Re: multiple AM_INIT_AUTOMAKEs cause problems
To: address@hidden
Message-ID: <address@hidden>
Content-Type: text/plain; charset=us-ascii

Hello,

On Tue, Jun 28, 2005 at 01:42:19PM -0400, Christopher Sean Morrison wrote:
        AM_INIT_AUTOMAKE
...
        AM_INIT_AUTOMAKE([no-dependencies])

I think that this option tells automake to generate different Makefile.in,
which is horter and doesn't include the code for dependency tracking.

As the Makefile.in is distributed in the tarball, you cannot have both
versions in one tarball.  Thus you have to decide at the time when
automake is run, not when configure is run.

You can use m4 conditions to achive what you want; for example:

dnl Uncomment this to get a distribution tarball:
dnl m4_define([foo_distrib])
AM_INIT_AUTOMAKE(m4_ifdef([foo_distrib], [[no-dependencies]])

or, if your CVS (non-production) versions have a specific version number,
say they end with a letter:

m4_define([foo_version], [1.2.3a])
AC_INIT([Foo], foo_version, address@hidden)
AM_INIT_AUTOMAKE(m4_bmatch(foo_version, [[a-z]$], [[no-dependencies]]))

I haven't tested these examples, but I hope they'll help you anyway.

=== A different kind of answer:
With gcc, the dependency info is generated as a side effect of the
compilation.  If you can use gcc, you might find out that the speedup
is not worth all these complications.

Have a nice day,
        Stepan Kasal





reply via email to

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