automake
[Top][All Lists]
Advanced

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

Re: how to use multiple automake's at the same time?


From: Guido Draheim
Subject: Re: how to use multiple automake's at the same time?
Date: Wed, 04 Dec 2002 12:18:41 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826

Keep the system installation. No need to deinstall any auto*tool in /usr.
Righty, install autotools-* main package, then install a number of its
helpers autotools-for-* (you need to --force it, sorry for that :-/ ).
That's about installation.

Now go to the project directories, and edit the toplevel Makefile.am.
Most will contain a first line saying "AUTOMAKE_OPTIONS =". The script
needs a similar line (somewhere near the top of the file), however
saying "AUTOTOOL_VERSION =". Use the scheme denoted below. That's
about preparing projects for my autotools script.

If you run "autotools" without arguments, it will try to auto-reconf
the projects autotools-files - you'll see a visual feedback of the
processing. That updates your project to the specific set of autotool
versions denoted in the Makefile.am.

In most cases you should now be fine with just configure/make the
project, autotools are designed to be needed on the developer's
host only, and not the build host. That's why you can update your
projects with a pre-build step running `autotools` script everywhere,
and then be okay.

If in doubt, just prefix your commands with the autotools scripts - it
is designed to `exec` any commands it receives as arguments (i.e., when
it is not called without arguments (which will auto-reconf then)) - a
common example where I need to do so is `autotools make dist` since
that `make dist` on am.1.5 has the weird behaviour to call autoheader
and bark at me for a version mismatch in auto-tools.

btw, the autotools-for-* are built with a --prefix=/usr/share/auto/**,
and you could modify that - the main autotools-* package will install
the helper scripts in /usr/share/auto/. Here's what I have over there:

$ ls /usr/share/auto/
2.13-1.3.5-1.4     2.13-1.4.2-1.5     2.52-1.4.2-1.5    autotools.spec.in
2.13-1.4-1.4       2.52-1.4-1.4       2.52-1.4.2-1.6    autotools-std.sh
2.13-1.4-1.5       2.52-1.4-1.4-p5    2.53-1.4.2-1.5
2.13-1.4.2-1.4     2.52-1.4.2-1.4     2.53-1.4.2-1.6
2.13-1.4.2-1.4-p5  2.52-1.4.2-1.4-p5  autotools-all.sh

So, if you are fine with writing rpm spec files, you can easily update
to the latest assembly of autotools packages, or to just those that you
whish to use. -- have fun, guido

p.s. to the auto*tool people: you're right, it isn't a sophisticated
example of autotooling/autoreconfiguring projects, it' simple, it
was only developed to a degree that it just works, and so it does, for
a looooooong time ;-) ... alternatives are welcome (in other words,
I don't want to have this pile around any longer than barely necessary).

Lukas Österreicher wrote:
Thanx for your help.

I'm unclear though still on how to use it. I've never created automake scripts
myself, just downloaded sources which use them. I dont even really know which
packages there are and how they work together. (Surely i guess i should RTFM,
but i don't know where to find the right thing that explains all, so i'm open 
if i'm told
what to read.).

As I understood I have to install autotools-0.4.0-3sfnet.i586.rpm
and one of the other rpms which contain (do they?) all the auto* packages
in two versions. On Redhat 7.2 autoconf 2.13 and automake 1.4p5-2 (what
version is this effectively?) is installed so i guess to have also automake
1.5* (which to use?) installed i deinstall autoconf and automake which are
installed and install your pachage - i guess
autotools-for-ac.2.13.lt.1.4.2.am.1.5-2sfnet.i586.rpm?

What I before tried is to upgrade from 1.4 to 1.5 and there were many unresolved
conflicts - and surely there are conflicts too when installing them at the same 
time.
How were they solved in your packages?

Thanx in Advance,
Lukas



I've hacked a script that does the trick for me - as I want to use different
combinations of autoconf libtool and automake. The toplevel makefile has
a magic var-set line, so the start of my Makefile.am usually looks like:

AUTOMAKE_OPTIONS = foreign
AUTOTOOL_VERSION = autoconf-2.52 libtool-1.4.2 automake-1.5

Then I call a script "autotools" that looks into the Makefile.am and modifies
the $PATH accordingly, not much unlike the description about "stow", the
combinations are compiled with separate $prefix paths. The helper script and
all the combinations are ready-made as rpm files, just pick them up and
install.

You can find everything in the download section of http://ac-archive.sf.net
in the "autotools" section - here's the direct link:
http://sourceforge.net/project/showfiles.php?group_id=32081

They are a bit dated, I did not have time to rebuild the rpms with the
newest breed of autoconf and automake generations. And actually, I'm
currently waiting for Mandrake to fix a severe bug in bash before doing
interesting things (sorry to alexandre, the bug affects the ac-archive
rpms making quite definitly, so no good time to roll a new release).

cheers, guido














reply via email to

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