[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