Patch to review for a big recursive configure

Rodolphe Ortalo rodolphe.ortalo at free.fr
Sun Mar 4 23:14:38 CET 2007


Hello,

I did some more attempts at a top-level configure system to build some
parts of the OpenMoko source tree in one shot, here is a patch available
at  http://rodolphe.ortalo.free.fr/rec_conf1.patch that should allow you
to try such a beast.
Of course, this is purely experimental, and I am truly willing to learn
some other build system if asked to... ;-)

To try it, just do the following commands in a fresh place of your hard
disk:

svn co http://svn.openmoko.org/trunk/src/target/OM-2007
cd OM-2007
wget http://rodolphe.ortalo.free.fr/rec_conf1.patch
patch -p0 < rec_conf1.patch
. ./full-reconf.sh
==> export PKG_CONFIG_PATH=/space/openmoko-svn/testinstall/lib/pkgconfig
mkdir build
cd build
../configure && make
make distcheck

Here, of course, nothing is cross-compiled plus this is experimental so
do not install things without further verification.

The script "full-reconf.sh" call autoreconf and glib-gettextize in each
subdirectory where a file named configure.ac exists.
The PKG_CONFIG_PATH ajustement is for pkg-config to find
matchbox-panel.pc (v2 from SVN) for the 2 examples program that
necessitates it. It is optional but useful to have this lib. Of course,
you need to adjust the path for your setup. Without this dependency, a
top-level make dist will not run correctly (but make should).

Then, the big "configure" runs (in a separate build dir) and recurses
through sub-configures, followed by a make and an optional make
distcheck.
NB: I forgot to mention that "configure --config-cache" really seems to
improve the speed of that step.
Note that you need to have Matchbox Panel 2 installed and to indicate a
specific path for it to pkg-config if you want to run a make dist (this
is due to the -panel program in examples/). If you skip that step, the
last make distcheck should fail on these directories (which will not
have a Makefile). I could simply remove the panel examples from the
build system but that was an attempt to use automake conditionals.

In its current state, the patch also corrects some inaccuracies of some
Makefile.am in subdirectories - in several places, make dist could not
run in those packages - look at the patch for details.

I hacked this pretty fast, so I hope there are no big errors. It still
needs improvement: I skipped some applications or panel-plugins that
necessitates non-obvious dependencies or those with errors I could not
handle easily (mostly linked to .po or .pot files, a system that I do
not know).

applications/Makefile.am includes some comments on applications not
built (some compile as-is but where not included because they were
causing make dist to fail).

For what it's worth... have fun with the "blob".

Rodolphe





More information about the openmoko-devel mailing list