Mercurial > hg > aboriginal
view sources/include.sh @ 743:5e745e03408a
Commit 729 broke canadian cross to fix ppc440 build, so try again to hopefully fix _both_ issues.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 11 Jun 2009 00:26:15 -0500 |
parents | 104e8a35ea2e |
children | 759adf5a0fe9 |
line wrap: on
line source
#!/bin/bash [ -e config ] && source config source sources/functions.sh # What host compiler should we use? [ -z "$CC" ] && export CC=cc # How many processors should make -j use? if [ -z "$CPUS" ] then export CPUS=$(echo /sys/devices/system/cpu/cpu[0-9]* | wc -w) [ "$CPUS" -lt 1 ] && CPUS=1 fi umask 022 unset CFLAGS CXXFLAGS # Find/create directories TOP=`pwd` export SOURCES="${TOP}/sources" export SRCDIR="${TOP}/packages" export BUILD="${TOP}/build" export HOSTTOOLS="${BUILD}/host" mkdir -p "${SRCDIR}" || dienow # Retain old $PATH in case we re-run host-tools.sh with different options. export OLDPATH="$PATH" # Adjust $PATH if [ "$PATH" != "$HOSTTOOLS" ] then if [ -f "$HOSTTOOLS/busybox" ] then PATH="$HOSTTOOLS" else PATH="${HOSTTOOLS}:$PATH" fi fi # Setup for $RECORD_COMMANDS # WRAPPY_LOGPATH is set unconditionally in case host-tools.sh needs to # enable wrapping partway through its own build. Extra environment variables # don't actually affect much, it's changing $PATH that changes behavior. [ -z "$STAGE_NAME" ] && STAGE_NAME=`echo $0 | sed 's@.*/\(.*\)\.sh@\1@'` [ -z "$WRAPPY_LOGDIR" ] && WRAPPY_LOGDIR="$BUILD" export WRAPPY_LOGPATH="$WRAPPY_LOGDIR/cmdlines.${STAGE_NAME}.setupfor" if [ ! -z "$RECORD_COMMANDS" ] && [ -f "$BUILD/wrapdir/wrappy" ] then export WRAPPY_REALPATH="$PATH" PATH="$BUILD/wrapdir" fi # Tell bash not to cache the $PATH because we modify it. Without this, bash # won't find new executables added after startup. set +h # Get target platform from first command line argument. if [ -z "$NO_ARCH" ] then ARCH_NAME="$1" if [ ! -f "${TOP}/sources/targets/${ARCH_NAME}/settings" ] then echo "Supported architectures: " (cd "${TOP}/sources/targets" && ls) exit 1 fi # Read the relevant config file. ARCH="$ARCH_NAME" CONFIG_DIR="${TOP}/sources/targets" source "${CONFIG_DIR}/${ARCH}/settings" # Which platform are we building for? export WORK="${BUILD}/temp-$ARCH_NAME" rm -rf "${WORK}" mkdir -p "${WORK}" || dienow # Say "unknown" in two different ways so it doesn't assume we're NOT # cross compiling when the host and target are the same processor. (If host # and target match, the binutils/gcc/make builds won't use the cross compiler # during root-filesystem.sh, and the host compiler links binaries against the # wrong libc.) [ -z "$CROSS_HOST" ] && export CROSS_HOST=`uname -m`-walrus-linux if [ -z "$CROSS_TARGET" ] then export CROSS_TARGET=${ARCH}-unknown-linux else [ -z "$FROM_HOST" ] && FROM_HOST="${CROSS_TARGET}" fi # Override FROM_ARCH to perform a canadian cross in root-filesystem.sh if [ -z "$FROM_ARCH" ] then FROM_ARCH="${ARCH}" else [ -z "$PROGRAM_PREFIX" ] && PROGRAM_PREFIX="${ARCH}-" fi [ -z "$FROM_HOST" ] && FROM_HOST="${FROM_ARCH}-thingy-linux" # Setup directories and add the cross compiler to the start of the path. [ -z "$NATIVE_ROOT" ] && export NATIVE_ROOT="${BUILD}/root-filesystem-$ARCH" export PATH="${BUILD}/cross-compiler-$ARCH/bin:$PATH" [ "$FROM_ARCH" != "$ARCH" ] && PATH="${BUILD}/cross-compiler-${FROM_ARCH}/bin:$PATH" if [ ! -z "${NATIVE_TOOLSDIR}" ] then TOOLS="${NATIVE_ROOT}/tools" else TOOLS="${NATIVE_ROOT}/usr" fi else HW_ARCH=host export WORK="${BUILD}/host-temp" mkdir -p "${WORK}" || dienow fi [ ! -z "$BUILD_VERBOSE" ] && VERBOSITY="V=1" # This is an if instead of && so the exit code of include.sh is reliably 0 if [ ! -z "$BUILD_STATIC" ] then STATIC_FLAGS="--static" fi