#!/bin/sh

function getpyver {
    if [ "$1" = "15" ]; then
	PYVER=1.5
    elif [ "$1" = "20" ]; then
	PYVER=2.0
    elif [ "$1" = "21" ]; then
	PYVER=2.1
    else
	echo You must specify Python version as first parameter.
        exit
    fi
}

getpyver $1
shift

python$PYVER -c "import sys;print '\n', sys.version, '\n'"

WXPYVER=`python -c "import setup;print setup.VERSION"`
SETUP="python$PYVER -u setup.py"
FLAGS="USE_SWIG=1 IN_CVS_TREE=1"
OTHERFLAGS=""



# "c" --> clean
if [ "$1" =  "c" ]; then
    shift
    CMD="$SETUP $FLAGS $OTHERFLAGS clean"
    OTHERCMD="rm -f wxPython/*.so"

# "d" --> clean extension modules only
elif [ "$1" = "d" ]; then
    shift
    CMD="rm -f wxPython/*.so"

# "t" --> touch *.i files
elif [ "$1" = "t" ]; then
    shift
    CMD="set CMD=touch src\*.i; touch contrib\glcanvas\*.i; touch contrib\ogl\*.i; touch contrib\stc\*.i"

# "i" --> install
elif [ "$1" = "i" ]; then
    shift
    CMD="$SETUP build $OTHERFLAGS install"

# "s" --> source dist
elif [ "$1" = "s" ]; then
    shift
    CMD="$SETUP $OTHERFLAGS sdist"

# "r" --> rpm dist
elif [ "$1" = "r" ]; then

    for VER in 15 20 21; do
	getpyver $VER

	echo "*****************************************************************"
	echo "*******      Building wxPython for Python $PYVER"
	echo "*****************************************************************"

	# NOTE:  This assumes that /usr/local/bin is BEFORE /usr/bin on the PATH
	#        AND that you have write access to it.
	rm -f /usr/local/bin/python
	ln -s /usr/bin/python$PYVER /usr/local/bin/python
	SETUP="/usr/local/bin/python -u setup.py"

	# save the original
	cp setup.py setup.py.save

	# fix up setup.py the way we want...
	sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp
	sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py

	# build wxPython-gl RPM
	$SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt
	rm dist/wxPython-gl*.tar.gz

	# Build wxPython RPM
	cp setup.py setup.py.temp
	sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py
	$SETUP $OTHERFLAGS bdist_rpm --binary-only

	# put the oringal setup.py back
	cp setup.py.save setup.py
	rm setup.py.*

	# rename the binary RPM's
	mv dist/wxPython-$WXPYVER-1.i386.rpm dist/wxPython-$WXPYVER-1-Py$VER.i386.rpm
	mv dist/wxPython-gl-$WXPYVER-1.i386.rpm dist/wxPython-gl-$WXPYVER-1-Py$VER.i386.rpm

    done
    # rebuild the source dists without the munched up setup.py
    $SETUP $OTHERFLAGS sdist
    $SETUP $OTHERFLAGS bdist_rpm --source-only
    exit 0


# (no command arg) --> normal build for development
else
    CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace $*"
fi


echo $CMD
$CMD


if [ "$OTHERCMD" != "" ]; then
    echo $OTHERCMD
    $OTHERCMD
fi