Mercurial > ~dholland > hg > swallowtail > index.cgi
diff configure @ 2:5f36d8d69aba
Set up a build framework.
author | David A. Holland |
---|---|
date | Sun, 19 Feb 2012 18:57:59 -0500 |
parents | |
children | 923ea629c29f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure Sun Feb 19 18:57:59 2012 -0500 @@ -0,0 +1,135 @@ +#!/bin/sh +# configure - configure swallowtail +# usage: see configure --help +# note: this is not an autoconf-generated script + +help() { + cat <<EOF +Usage: $0 [args] +where args can be: + --help Print usage + --destdir=DIR Set install chroot [none] + --prefix=DIR Set install prefix [/usr/local] + --python=FILE Set path to Python interpreter [probed] + --sh=FILE Set path to Bourne shell [/bin/sh] +EOF +} + +usage() { + echo "Usage: $0 [args}" 1>&2 + echo "Try --help" 1>&2 +} + +############################################################ +# args + +DESTDIR= +PREFIX=/usr/local +PYTHON=probed +SH=/bin/sh + +for ARG in "$@"; do + case "$ARG" in + --help) help; exit;; + --destdir=*) DESTDIR=`echo "$ARG" | sed 's/^[^=]*=//'`;; + --prefix=*) PREFIX=`echo "$ARG" | sed 's/^[^=]*=//'`;; + --python=*) PYTHON=`echo "$ARG" | sed 's/^[^=]*=//'`;; + --sh=*) SHELL=`echo "$ARG" | sed 's/^[^=]*=//'`;; + *) usage; exit 1;; + esac +done + +############################################################ +# check for python + +echo -n 'Checking for python... ' + +nopython() { + echo "failed" + echo "$0: $1" 1>&2 + echo "$0: Install python or use --python=PATH option" 1>&2 + exit 1 +} + +testpython() { + if [ ! -x "$1" ]; then + return 1 + fi + VER=$("$1" -V 2>&1) + case "$VER" in + "Python "*.*.*) return 0;; + "Python "*.*) return 0;; + *) ;; + esac + return 1 +} + +FOUND=0 +case "$PYTHON" in + probed) + for D in \ + /usr/local/bin \ + /usr/pkg/bin \ + /usr/contrib/bin \ + /usr/bin \ + /opt/bin \ + ; do + for PY in \ + python \ + python2.7 python27 \ + python2.6 python26 \ + python2.5 python25 \ + python2.4 python24 \ + ; do + if testpython $D/$PY; then + PYTHON="$D/$PY" + FOUND=1 + break + fi + done + if [ $FOUND = 1 ]; then + break + fi + done + if [ $FOUND = 0 ]; then + nopython "Cannot find python" + fi + ;; + /*) + if testpython "$PYTHON"; then + : + else + nopython "$PYTHON does not appear to be python" + fi + ;; + *) + nopython "$PYTHON is not an absolute path" + ;; +esac +echo "$PYTHON" + +############################################################ +# Generate config.* + +echo 'Generating config.sed' + +cat > config.sed.new <<EOF +s,@@PYTHON@@,$PYTHON, +s,@@SH@@,$SH, +EOF + +mv -f config.sed.new config.sed + +echo 'Generating config.mk' + +cat > config.mk.new <<EOF +DESTDIR=$DESTDIR +PREFIX=$PREFIX +EOF + +mv -f config.mk.new config.mk + +############################################################ +# done + +exit 0