qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Meyering <...@meyering.net>
Subject Re: Automake build system up and running :)
Date Fri, 01 Dec 2006 14:24:09 GMT
[resend]
Alan Conway <aconway@redhat.com> wrote:
> Jim: Some notes & questions:
>
> Please sanity check the README: in particular are the autotool
> dependencies complete?
>
> I gather that once bootstrapped, make will take care of re-running
> autoconf, automake etc as needed - is that correct?

Yes.

> I had to downgrade autotool versions on fedora 6 with latest updates:
> - configure.ac: autoconf 2.60 => 2.59
> - Makefile.am automake 1.10 => 1.9.6
>
> I had only one problem possibly related to this: No abs_srcdir and
> abs_builddir in Makefiles. Manually added to gen/Makefile.am and
> tests/Makefile.am. Autoconf substitutes them but the automake template
> doesn't have them.

Right.  That's because you downgraded automake.
I'll make it work with older versions, too.

> Building with APR via brutal hacks in the Makefile.am's, should have a
> proper configure-based switch (e.g. -with-apr) that tests for the lib
> etc.

Right.  That's on my list.  Assuming we are stuck with APR.

> Things remaining to do:
> - generate RPM/SRPM
> - run python tests from makefile if present.
> - svn ignores for generated files.
> - clean gen/* and generated make/config files.
> - fix hacks for choosing APR/linux build (get rid of APR in medium term)
> - doxygen
> - easy selection of debug/release flags.
> - fix signal handling in qpidd.cpp
> - sundry renaming & cleanup which I might try to slip in during the
> chaos.
>
> Philosophical question: I'm a fan of the Single Makefile approach
> (http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html). Seems
> to me that we could go that way with the autoconf build system, is
> there any reason not to? It's not a priority, just thinking out loud.

Those sound like two different things.
You can have a non-recursive build system that uses one "main"
Makefile along with lots of little pieces spread throughout the tree.

Locality of reference arguments suggest that having a snippet of makefile
in a few key directories (near the files they reference) is better than
concentrating everything at the top of the hierarchy.

Non-recursive Make is definitely a good thing.  The current
automake-based practice is slightly suboptimal because it ends up
cutting the dependency tree -- e.g., between libraries and source trees.
I don't know of any automake project with
significant directory structure that has a non-recursive build,
but do know of someone who has a patch for GNU make to make this sort
of build a lot easier to set up.

Mime
View raw message