#!/bin/bash
# Copyright (c) 2008, Fred Emmott <mail@fredemmott.co.uk>
# 
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
# 
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

pkghelpers_env() {
	##### $PKGNAM #####
	if [ "x$PKGNAM" = "x" ]; then
		PKGNAM=${PRGNAM:-$(basename "$(pwd)")}
	fi

	##### $VERSION #####
	if [ "x$VERSION" = "x" -a "x$PKGVER" != "x" ]; then
		export VERSION=$PKGVER
	fi
	if [ "x$VERSION" = "x" ]; then
		if [ -e $PKGNAM-*.tar.* ]; then
			export VERSION=$(ls $PKGNAM-*.tar.* | rev | cut -f1 -d- | cut --complement -f1,2 -d. | rev)
		else
			echo "Can't determine version."
			exit 1
		fi
	fi
	export PKGVER=$VERSION

	##### $DISTRO #####
	export DISTRO=${DISTRO:-$(cut -f1 '-d ' /etc/*-version | tr A-Z a-z)}

	##### $ARCH #####
	if [ $DISTRO = slackware ]; then 
		export ARCH=${ARCH:-i486}
	else
		export ARCH=${ARCH:-$(uname -m)}
	fi

	##### $PKGARCH #####
	if [ $DISTRO = slackware ]; then
		export PKGARCH=$ARCH
	else
		export PKGARCH=${ARCH}_${DISTRO}
	fi

	##### $MULTILIB ##### $LIBSUFFIX #####
	libdir=$(ldd /bin/bash | tail -n 1 | cut -f2 -d/)
	if [ $libdir  = lib ]; then
		# "Pure"
		export MULTILIB=false
		export LIBSUFFIX=
	else
		# Multilib
		export MULTILIB=true
		export LIBSUFFIX=$(echo $libdir | sed 's#^lib##')
	fi

	##### $CWD #####
	export CWD=$PWD

	##### $SLKCFLAGS #####
	if [ "$ARCH" = "i386" ]; then
	  SLKCFLAGS="-O2 -march=i386 -mtune=i686"
	elif [ "$ARCH" = "i486" ]; then
	  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
	elif [ "$ARCH" = "i586" ]; then
	  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
	elif [ "$ARCH" = "i686" ]; then
	  SLKCFLAGS="-O2 -march=i686"
	elif [ "$ARCH" = "s390" ]; then
	  SLKCFLAGS="-O2"
	elif [ "$ARCH" = "x86_64" ]; then
	  SLKCFLAGS="-O2 -fPIC"
	fi
	export SLKCFLAGS

	##### $TMP #####
	export TMP=${TMP:-/tmp}

	##### $PKG #####
	export PKG=${PKG:-$TMP/package-$PKGNAM}

	##### $NUMJOBS #####
	export NUMJOBS=$(($(grep processor /proc/cpuinfo | wc -l) + 2))
}
