diff options
author | Ryan <ry@tinyclouds.org> | 2009-04-15 12:08:28 +0400 |
---|---|---|
committer | Ryan <ry@tinyclouds.org> | 2009-04-15 12:08:28 +0400 |
commit | 63a9cd389773b0d986184f5989eeceb299b55ecd (patch) | |
tree | a936e68200d6ff23d03f3d09e65b45278002fdbf /configure | |
parent | 0e9e927fcb71d44524340ae4f0392bd1dcced7fb (diff) |
everything is changed. i've waited much too long to commit.
this is awful. i'm sorry for being so messy.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/configure b/configure new file mode 100755 index 00000000000..01876912fcb --- /dev/null +++ b/configure @@ -0,0 +1,137 @@ +#! /bin/sh + +# waf configure wrapper + +# Fancy colors used to beautify the output a bit. +# +if [ "$NOCOLOR" ] ; then + NORMAL="" + BOLD="" + RED="" + YELLOW="" + GREEN="" +else + NORMAL='\\033[0m' + BOLD='\\033[01;1m' + RED='\\033[01;91m' + YELLOW='\\033[00;33m' + GREEN='\\033[01;92m' +fi + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_ERROR=2 +EXIT_BUG=10 + +CUR_DIR=$PWD + +#possible relative path +WORKINGDIR=`dirname $0` +cd $WORKINGDIR +#abs path +WORKINGDIR=`pwd` +cd $CUR_DIR + +# Checks for WAF. Honours $WAF if set. Stores path to 'waf' in $WAF. +# Requires that $PYTHON is set. +# +checkWAF() +{ + printf "Checking for WAF\t\t\t: " + #installed miniwaf in sourcedir + if [ -z "$WAF" ] ; then + if [ -f "${WORKINGDIR}/waf" ] ; then + WAF="${WORKINGDIR}/waf" + if [ ! -x "$WAF" ] ; then + chmod +x $WAF + fi + fi + fi + if [ -z "$WAF" ] ; then + if [ -f "${WORKINGDIR}/waf-light" ] ; then + ${WORKINGDIR}/waf-light --make-waf + WAF="${WORKINGDIR}/waf" + fi + fi + #global installed waf with waf->waf.py link + if [ -z "$WAF" ] ; then + WAF=`which waf 2>/dev/null` + fi + # neither waf nor miniwaf could be found + if [ ! -x "$WAF" ] ; then + printf $RED"not found"$NORMAL"\n" + echo "Go to http://code.google.com/p/waf/" + echo "and download a waf version" + exit $EXIT_FAILURE + else + printf $GREEN"$WAF"$NORMAL"\n" + fi +} + +# Generates a Makefile. Requires that $WAF is set. +# +generateMakefile() +{ + cat > Makefile << EOF +#!/usr/bin/make -f +# Waf Makefile wrapper +WAF_HOME=$CUR_DIR + +all: + @$WAF build + +all-debug: + @$WAF -v build + +all-progress: + @$WAF -p build + +install: + if test -n "\$(DESTDIR)"; then \\ + $WAF install --yes --destdir="\$(DESTDIR)" --prefix="$PREFIX"; \\ + else \\ + $WAF install --yes --prefix="$PREFIX"; \\ + fi; + +uninstall: + @if test -n "\$(DESTDIR)"; then \\ + $WAF uninstall --destdir="\$(DESTDIR)" --prefix="$PREFIX"; \\ + else \\ + $WAF uninstall --prefix="$PREFIX"; \\ + fi; + +clean: + @$WAF clean + +distclean: + @$WAF distclean + @-rm -rf _build_ + @-rm -f Makefile + +check: + @$WAF check + +dist: + @$WAF dist + +.PHONY: clean dist distclean check uninstall install all + +EOF +} + +checkWAF + +PREFIX=/usr/local +case $1 in + --prefix) + PREFIX=$2 + ;; +esac + +export PREFIX +generateMakefile + + +"${WAF}" configure --prefix "${PREFIX}" + +exit $? |