view sources/ @ 1175:886a2ea90bc1

Add sanitize_environment to unset unrecognized environment variables.
author Rob Landley <>
date Sun, 25 Jul 2010 23:25:58 -0500
parents 5061606337d0
children 878dbfe76341
line wrap: on
line source

#!/bin/echo "This file is sourced, not run"

# Set up all the environment variables and functions for a build stage.
# This file is sourced, not run.

# Include config and sources/

[ -e config ] && source config

source sources/

# Avoid trouble from unexpected environment settings

[ -z "$NO_SANITIZE_ENVIRONMENT" ] && sanitize_environment

# List of fallback mirrors to download package source from


# Where are our working directories?

export_if_blank TOP=`pwd`
export_if_blank SOURCES="$TOP/sources"
export_if_blank SRCDIR="$TOP/packages"
export_if_blank PATCHDIR="$SOURCES/patches"
export_if_blank BUILD="$TOP/build"
export_if_blank SRCTREE="$BUILD/packages"
export_if_blank HOSTTOOLS="$BUILD/host"
export_if_blank WRAPDIR="$BUILD/wrapdir"

# Set a default non-arch

export WORK="${BUILD}/host-temp"
export ARCH_NAME=host

# What host compiler should we use?

export_if_blank CC=cc

# How many processors should make -j use?

MEMTOTAL="$(awk '/MemTotal:/{print $2}' /proc/meminfo)"
if [ -z "$CPUS" ]
  export CPUS=$(echo /sys/devices/system/cpu/cpu[0-9]* | wc -w)
  [ "$CPUS" -lt 1 ] && CPUS=1

  # If there's enough memory, try to make CPUs stay busy.

  [ $(($CPUS*512*1024)) -le $MEMTOTAL ] && CPUS=$((($CPUS*3)/2))

export_if_blank STAGE_NAME=`echo $0 | sed 's@.*/\(.*\)\.sh@\1@'`
[ ! -z "$BUILD_VERBOSE" ] && VERBOSITY="V=1"

export_if_blank BUILD_STATIC=busybox,binutils,gcc-core,gcc-g++,make

# Adjust $PATH

export OLDPATH="$PATH"

# If set up a wrapper directory, adjust $PATH again.
if [ -f "$WRAPDIR/wrappy" ]
  export WRAPPY_LOGPATH="$BUILD/logs/cmdlines.$ARCH_NAME.early"
elif [ ! -f "$HOSTTOOLS/busybox" ] || [ ! -f "$HOSTTOOLS/toybox" ]

# Create files with known permissions
umask 022

# Tell bash not to cache the $PATH because we modify it.  (Without this, bash
# won't find new executables added after startup.)
set +h

# Disable internationalization so sort and sed and such can cope with ASCII.

export LC_ALL=C