[BusyBox] [RFC] build system change: support building in separatedirectory

egor duda deo at corpit.ru
Fri Oct 1 06:43:57 UTC 2004


Hi!

Larry Doolittle wrote:
> That is my preference.  I'm used to building other packages like this:
> 
> tar -xvzf $REFERENCE/foo-1.0.tar.gz
> mkdir foo-1.0-native
> cd foo-1.0-native
> .../foo-1.0/configure --prefix=$HOME/bin
> make install
> cd ..
> mkdir foo-1.0-arm-linux
> cd foo-1.0-arm-linux
> CC=$TARGET-gcc ../foo-1.0/configure --prefix=$EMBEDDED_ROOT arm-linux
> make install

That's GNU-style autotools build system. Busybox originally uses 
kernel-style build system, so i've decided to keep it intact. Moving to 
autoconf/automake stuff is possible, but i guess such change will be 
_too_ drastic. This is not to say that some people consider autotools 
build systems wrong _in principle_. I, while not being in this camp, 
still think that it's not good to completely overhaul the way some 
package built.

> Note that the source tree is completely untouched by the configure and
> build process; the tree could be on CD-ROM, read-only NFS mount, owned
> by another user, etc., and the build will still succeed.  This is a
> big deal.

'make O=/some/where' could be run from cdrom too. I always test builds 
from source directory owned by other user and only readable by me.

> Busybox expects more customization than most other software at the
> configure step, but ideally it would still fit the general pattern.

That may be the main difference between autotools configure and kbuild 
one. Passing zillions of all needed options to configure like this: 
'../src/configure --prefix=/foo --enable-cat --disable-tar --enable-gzip 
--disable-cpio ...'
whould be maintainer's nightmare. It's possible to make some blend of 
kbuild's menuconfig with autotools configure, but i think it would be a 
pretty strange beast.

egor.



More information about the busybox mailing list