+#!/bin/sh
+
+usage()
+{
+ echo "usage: $0 [-h] [-C] [<dependency 1>] [<dependency 2>] ..."
+ echo " -h Displays this usage"
+ echo " -C Clobbers (overwrites) the source code by "
+ echo " reextracting the archive and reapplying any"
+ echo " patches."
+ echo ""
+ echo "<dependency N> Optional dependency, If none are given then all"
+ echo " of them will be built."
+ echo ""
+ echo "Valid dependencies are:"
+ grep -v '^#' < External-depkgs | cut -d'|' -f1 | cut -d'_' -f1 | tr A-Z a-z | sort -u | awk '{ print " " $1 }'
+}
+
+CLOBBER_SOURCE=
+
+while getopts "hHC" opt; do
+ case ${opt} in
+ H|h|\?) usage;exit 1;;
+ C) CLOBBER_SOURCE=true;;
+ esac
+done
+
+[ ${OPTIND} -gt 1 ] && shift `expr ${OPTIND} - 1`
+
+cwd=`pwd`
+cd `dirname $0`
+SCRIPT_DIR=`pwd`
+TOP_DIR=`pwd`
+DEPPKG_DIR=`pwd`
+
+export PATH=${BIN_DIR}:${PATH}
+
+OLD_IFS=${IFS};IFS="|";
+while read package url dir mkd; do
+ case ${package} in
+ \#*) ;;
+ *) eval "URL_${package}=${url};DIR_${package}=${dir};MKD_${package}=${mkd}";;
+ esac
+done < ${SCRIPT_DIR}/External-depkgs
+IFS=${OLD_IFS};unset OLD_IFS
+
+get_source()
+{
+ URL=$1
+ SRC_DIR=$2
+ MAKE_DIR=$3
+ ARCHIVE=`basename ${URL}`
+
+ case ${ARCHIVE} in
+ *.tar.gz) ARCHIVER="tar xzf"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.tar\.gz'`;;
+ *.tar.bz2) ARCHIVER="tar xjf"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.tar\.bz2'`;;
+ *.zip) ARCHIVER="unzip -q"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.zip'`;;
+ *) echo Unsupported archive type - $ARCHIVE; exit 1;;
+ esac
+
+ if [ ! -e "${ARCHIVE}" ]
+ then
+ echo Downloading "${URL}"
+ if wget --passive-ftp "${URL}"
+ then
+ :
+ else
+ echo Unable to download ${ARCHIVE}
+ exit 1
+ fi
+ fi
+
+ if [ ! -e "${SRC_DIR}" -o "${CLOBBER_SOURCE}" = "true" ]
+ then
+ rm -rf ${SRC_DIR}
+ [ "${MAKE_DIR}" = "true" ] && mkdir ${SRC_DIR} && cd ${SRC_DIR}
+ echo Extracting ${ARCHIVE}
+ ${ARCHIVER} ${ARCHIVE} &> ${ARCHIVE}.log
+ cd ${SRC_DIR}
+ return 0
+ fi
+
+ cd ${SRC_DIR}
+ return 1
+}
+
+
+process_mkcdrec()
+{
+ if get_source "${URL_MKCDREC}" "${DIR_MKCDREC}" "${MKD_MKCDREC}"
+ then
+ echo "Have mkcdrec source"
+ fi
+}
+
+
+if [ "$#" -eq 0 ]
+then
+ process_mkcdrec
+else
+ for dependency in "$@"
+ do
+ eval "process_${dependency}"
+ done
+
+fi