Mercurial > hg > aboriginal
diff config @ 944:fc134a13357e
Largeish refactoring and cleanup of compiler build:
Break out native-compiler.sh from root-filesystem.sh
NATIVE_TOOLCHAIN=* went away
now NO_NATIVE_COMPILER=1 affecting build.sh
root-filesystem.sh:
Much simplified
No more ROOT_TOPDIR, adjust STAGE_DIR=$STAGE_DIR/usr instead.
Doesn't build native-compiler, instead copies existing native-compiler
else installs library binaries out of cross compiler.
Only build make/bash/distcc when we have a native compiler.
native-compiler.sh:
No more BUILD_STATIC_NATIVE_COMPILER, now built/packaged separately by
default (NO_NATIVE_COMPILER=1 to skip), then incorporated into
root-filesystem.
now static by default, use BUILD_STATIC=none to override
This script also makes the (optional) full cross-compiler
renamed STATIC_CROSS_COMPILER_HOST to STATIC_CC_HOST
Rename cross-compiler stage to simple-cross-compiler
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 03 Jan 2010 17:04:39 -0600 |
parents | 890aa372ee30 |
children | 3d2261361009 |
line wrap: on
line diff
--- a/config Sun Jan 03 05:04:35 2010 -0600 +++ b/config Sun Jan 03 17:04:39 2010 -0600 @@ -5,43 +5,33 @@ # are left blank by the build. Feel free to replace this file with your # own version, or to set these as environment variables on the command line. -# By default root-filesystem.sh will build a native toolchain (binutils, gcc, -# make, bash, distcc). Set this variable to "none" to skip all that, and -# build a root filesystem containing only uClibc and busybox. You can also -# set it to "headers" to retain the linux/uClibc kernel headers (in case you'd -# like to build your own native toolchain based on a different compiler). -# If you set it to "only", it'll build a native toolchain (binutils, gcc, -# uClibc, and the kernel headers) and nothing else. +# Set this to tell build.sh not to build a native toolchain. (This means +# root-filesystem.sh won't have it either.) -# export NATIVE_TOOLCHAIN=none -# export NATIVE_TOOLCHAIN=headers -# export NATIVE_TOOLCHAIN=only +# export NO_NATIVE_COMPILER=1 # If this is set, root-filesystem.sh won't bother to create the normal # directory hierarchy of /usr, /tmp, /etc, and so on. # export ROOT_NODIRS=1 -# By default, only busybox is built statically (doing so provides a 20% -# performance boost to autoconf under qemu). +# By default, busybox and the native compiler are built statically. +# (Building busybox static provides a 20% performance boost to autoconf +# under qemu, and building the native compiler static makes it more +# portable to other root filesystems.) -# To make busybox dynamic, set this to "none". Set it to any other +# To make those dynamic, set this to "none". Set it to any other # value to link all packages statically. # export BUILD_STATIC=none # export BUILD_STATIC=1 -# If this is set, build.sh will build a compiler statically linked +# If this is set, build.sh will build a cross compiler statically linked # against uClibc. This indicates which host that compiler should run on. # Note that most x86_64 systems can run a statically linked i686 binary even -# if they don't have the 32-bit libraries installed. - -# export STATIC_CROSS_COMPILER_HOST=i686 +# if they don't have the 32-bit libraries installed, so that's a good default. -# If this is set, build a standalone statically linked native compiler, to -# use an a target system that doesn't have development tools. - -# export BUILD_STATIC_NATIVE_COMPILER=1 +# export STATIC_CC_HOST=i686 # This may be set by the target's "details" file, but you can override it here. # You can set it to ext2, initramfs, or squashfs. It defaults to squashfs