-#!/bin/sh
+#!/bin/bash
+
+# Are we using bash on win32? If so source that file and then exit.
+if [ "$OSTYPE" = "cygwin" ]; then
+ source b.win32
+ exit
+fi
+
+# make it easy to switch versions of SWIG
+if [ "$SWIG" = "" ]; then
+ SWIG=/opt/swig/bin/swig-1.3.29
+fi
+
function getpyver {
if [ "$1" = "15" ]; then
PYVER=2.0
elif [ "$1" = "21" ]; then
PYVER=2.1
+ elif [ "$1" = "22" ]; then
+ PYVER=2.2
+ elif [ "$1" = "23" ]; then
+ PYVER=2.3
+ elif [ "$1" = "24" ]; then
+ PYVER=2.4
else
echo You must specify Python version as first parameter.
exit
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"
+FLAGS="USE_SWIG=1 SWIG=$SWIG"
OTHERFLAGS=""
+PORTFLAGS=""
+UNIFLAG="UNICODE=1"
+
+
+
+if [ "$1" = "gtk1" -o "$1" = "gtk" ]; then
+ PORTFLAGS="WXPORT=gtk"
+ UNIFLAG="UNICODE=0"
+ shift
+elif [ "$1" = "gtk2" ]; then
+ PORTFLAGS="WXPORT=gtk2"
+ UNIFLAG="UNICODE=1"
+ shift
+fi
+
+for p in $*; do
+ if [ "$p" = "UNICODE=0" -o "$p" = "UNICODE=1" ]; then
+ UNIFLAG=""
+ break
+ fi
+done
+
+FLAGS="$FLAGS $PORTFLAGS $UNIFLAG"
# "c" --> clean
if [ "$1" = "c" ]; then
shift
- CMD="$SETUP $FLAGS $OTHERFLAGS clean"
- OTHERCMD="rm -f wxPython/*.so"
+ CMD="$SETUP $FLAGS $OTHERFLAGS clean $*"
+ OTHERCMD="rm -f wx/*.so"
# "d" --> clean extension modules only
elif [ "$1" = "d" ]; then
shift
- CMD="rm -f wxPython/*.so"
+ CMD="rm -f wx/*.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"
+ CMD='find . -name "*.i" | xargs touch'
# "i" --> install
elif [ "$1" = "i" ]; then
shift
- CMD="$SETUP build $OTHERFLAGS install"
+ CMD="$SETUP $FLAGS $OTHERFLAGS build_ext install $*"
# "s" --> source dist
elif [ "$1" = "s" ]; then
shift
- CMD="$SETUP $OTHERFLAGS sdist"
+ CMD="$SETUP $OTHERFLAGS sdist $*"
# "r" --> rpm dist
elif [ "$1" = "r" ]; then
-
- for VER in 15 20 21; do
+ WXPYVER=`python$PYVER -c "import setup;print setup.VERSION"`
+ for VER in 21 22; 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"
+ SETUP="python$PYVER -u setup.py"
# save the original
cp setup.py setup.py.save
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
+ $SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt --python=python$PYVER
+ ### --requires=python$PYVER
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
+ $SETUP $OTHERFLAGS bdist_rpm --binary-only --python=python$PYVER
+ ### --requires=python$PYVER
# put the oringal setup.py back
cp setup.py.save setup.py
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
+# "f" --> FINAL (no debug)
+elif [ "$1" = "f" ]; then
+ shift
+ CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace $*"
+
# (no command arg) --> normal build for development
else
- CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace $*"
+ CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace --debug $*"
fi
echo $CMD
-$CMD
-
+eval $CMD
+RC=$?
-if [ "$OTHERCMD" != "" ]; then
+if [ "$RC" = "0" -a "$OTHERCMD" != "" ]; then
echo $OTHERCMD
$OTHERCMD
+ RC=$?
fi
+exit $RC