view config @ 1344:6a04a89a0d19

Add BUILD_NATIVE_ONLY and NO_CLEAN controls to buildall.sh. Also break out the hdb.img creation and do that single threaded for all targets, then reuse the scratch drives. (Avoids triggering timeout.sh due to disk thrashing on large FORK=1 builds.)
author Rob Landley <rob@landley.net>
date Sun, 03 Apr 2011 15:08:35 -0500
parents 08134b65336e
children 8a0a65d7a072
line wrap: on
line source

# Setup

# This file is sourced, not run.  It provides a place for you to persistently
# set configuration variables.

# Feel free to replace this file with your own version, or to set these
# environment variables on the command line.  This entire file is optional;
# by default all the variables listed in this file are left blank.

#############################################################################

# Setting this tells build.sh not to build a native toolchain.  (This yields
# a much smaller root-filesystem tarball.)

# export NO_NATIVE_COMPILER=1

# Setting this tells root-filesystem.sh not to create the normal directory
# hierarchy of /usr, /tmp, /etc, and so on.

# export ROOT_NODIRS=1

# Setting this tells build.sh to use the existing $PATH commands to build
# everything, which probably won't work out of the box.  Cross compiling is
# an insanely delicate process which requires a carefully configured host
# environment.  If we don't set up our own, you'll have to supply one.

# export NO_HOST_TOOLS=1

# Set this to a comma separated list of packages to build statically,
# or "none" to build all packages dynamically.  Set to "all" to build all
# packages statically (and not install static libraries on the target).

# By default, busybox and the native compiler are built statically.
# (Using a static busybox on the target provides a 20% performance boost to
# autoconf under qemu, and building the native compiler static makes it much
# more portable to other target root filesystems.)

# export BUILD_STATIC=busybox,binutils,gcc-core,gcc-g++,make

# 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, so that's a good default.

# export CROSS_HOST_ARCH=i686

# If this is set, only build a C compiler and not C++

# export NO_CPLUSPLUS=1

# 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
# if blank.

# export SYSIMAGE_TYPE=squashfs

# Size of writeable HDA image (if any), defaults to 64 megs

# export SYSIMAGE_HDA_MEGS=64

# Set this to use symlinks instead of hard links when creating temporary copies
# of the source packages (in setupfor).  This is slower and uses more inodes,
# but allows the extracted source packages to live in a different filesystem
# than the build directory.

# export SNAPSHOT_SYMLINK=1

# Use qemu to run "hello world" built by the cross compiler.  Note that this
# requires working qemu application emulation for your target to do this, which
# is significantly more brittle than system emulation.  (To unbreak qemu-arm,
# "echo 0 > /proc/sys/vm/mmap_min_addr" as root.)  You probably don't need
# to do this.

# export CROSS_SMOKE_TEST=1

# If set, try downloading packages from this location first.

# export PREFERRED_MIRROR=http://impactlinux.com/fml/mirror

# Set this if you don't want to drop all unrecognized environment variables.

# NO_SANITIZE_ENVIRONMENT=1

# Try development versions of these packages.  (Know what you're doing if
# you select these, it's quite possible the result won't work.)

# export USE_UNSTABLE=uClibc,busybox,linux,binutils,make,gcc-core,gcc-g++

# Debugging option to leave source in build/temp-$ARCH after build.

# export NO_CLEANUP=1

# Don't create tarballs at the end of each stage.

# export NO_STAGE_TARBALLS=1

# Tell the linux kernel, uClibc, and busybox to show the actual build commands
# instead of pretty-print output.

# export BUILD_VERBOSE=1

# Don't update the title bar in the display

# export NO_TITLE_BAR=1

# Create a tarball with the files installed by each individual package at
# each stage of the build.

# export BINARY_PACKAGE_TARBALLS=1

# Set this if you want debug symbols in your binaries.

# export SKIP_STRIP=1

# Set this to tell download.sh to extract all the tarballs up-front right
# after downloading them.  (Otherwise the tarball is extracted by setupfor
# the first time the build tries to use it.)
#
# Extracting tarballs early is useful in order to run multiple build.sh
# instances in parallel when building multiple targets, or to test that
# new patches added to the sources/patches directory apply cleanly.

# export EXTRACT_ALL=1

# If you build strange things (such as gcc 3.4 with binutils 2.14), you
# may need extra host binaries added to build/host.  This lets you add them.
# In general, you don't want to do this.

# export HOST_EXTRA="lex yacc"

# Set this to continue despite failed patches.

# export ALLOW_PATCH_FAILURE=1

# If this is set, it's points to a directory containing additional files to
# copy into the simple-root-filesystem.  The path is either absolute or
# relative to the aboriginal topdir.

# export SIMPLE_ROOT_OVERLAY="overlay"

# Build more things in parallel.

# export FORK=1

# Force a specific number of CPUs instead of autodetecting.

# export CPUS=1

# If set, list of packages to build with CPUS=1.  (Faster than setting CPUS=1
# for the whole build if you know ahead of time which package is going to
# break.)

# export DEBUG_PACKAGE=bash,busybox

# This isn't actually one of our variables, but a number of packages listen
# to this to add extra debug info to their binaries.  (Use with SKIP_STRIP)

# export CFLAGS="-g -pipe"