# Set up the build variables which are used by a given build
#
# Code fragment used by other scripts for commonality

buildenv () {
    pb=$1
    arch=$2
    branch=$3

    case "x$branch" in
	x5)
	export INDEXFILE=INDEX-5
	export USE_NONDEFAULT_X11BASE=1
	    ;;
	x5-exp)
	export INDEXFILE=INDEX-6
	    ;;
	x6)
	export INDEXFILE=INDEX-6
	    ;;
	x6-exp)
	export INDEXFILE=INDEX-6
	    ;;
	x6-exp2)
	export INDEXFILE=INDEX-6
	    ;;
	x7)
	export INDEXFILE=INDEX-7
	    ;;
	x7-exp)
	export INDEXFILE=INDEX-7
	    ;;
	x8)
	export INDEXFILE=INDEX-8
	    ;;
	*)
	    echo "buildenv: invalid branch"
	    exit 1
	    ;;
    esac

    export ARCH=${arch}
    export MACHINE_ARCH=${arch}

    export X11BASE=/usr/local
    export LOCALBASE=/usr/local
    export PKGSUFFIX=.tbz
    export PKGZIPCMD=bzip2
    export X_WINDOW_SYSTEM=xorg

    #export USA_RESIDENT=yes

    # Have to use realpath because 'make index' doesn't deal with symlinks in PORTSDIR
    # - kk 020311
    export PORTSDIR=$(realpath ${pb}/${arch}/${branch}/ports)
    export SRCBASE=$(realpath ${pb}/${arch}/${branch}/src)
    export SRCPREFIX=${SRCBASE} #XXX Which one is canonical?

    export OSVERSION=$(awk '/^#define __FreeBSD_version/ {print $3}' < ${SRCBASE}/sys/sys/param.h)
    export OSREL=$(awk 'BEGIN {FS="\""}; /^REVISION/ {print $2}' < ${SRCBASE}/sys/conf/newvers.sh)
    export BRANCH=$(awk 'BEGIN {FS="\""}; /^BRANCH/ {print $2}' < ${SRCBASE}/sys/conf/newvers.sh)

    export __MAKE_CONF=${pb}/${arch}/make.conf

    export DISTDIR=${pb}/${arch}/${branch}/distfiles
    export PACKAGES=${pb}/${arch}/${branch}/packages

    # Don't pick up host OPTIONS
    export PORT_DBDIR=/nonexistent

    export UNAME_m=${ARCH}
    export UNAME_n=freebsd.org
    export UNAME_p=${ARCH}
    export UNAME_r=${OSREL}-${BRANCH}
    export UNAME_s=FreeBSD
    export UNAME_v="FreeBSD ${OSREL}-${BRANCH} #0: $(date)     kris@freebsd.org:/usr/src/sys/magic/kernel/path"

    export BATCH=1
    export PACKAGE_BUILDING=1

    export FTP_PASSIVE_MODE=yes
    #export FETCH_BEFORE_ARGS=-vvv
}
