]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/b
Fix compilation
[wxWidgets.git] / wxPython / b
index 4888c8ad757de3a0667789f407eccbd6370f94e2..51cf5d683fcb482014ced29666a81ab1165f0f2a 100755 (executable)
-#!/bin/sh
+#!/bin/bash
 
-if [ "$1" = "15" ]; then
-    PYVER=1.5
-    shift
-elif [ "$1" = "20" ]; then
-    PYVER=2.0
-    shift
-elif [ "$1" = "21" ]; then
-    PYVER=2.1
-    shift
-else
-    echo You must specify Python version as first parameter.
+# 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=1.5
+    elif [ "$1" = "20" ]; 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
+    fi
+}
+
+getpyver $1
+shift
+
+python$PYVER -c "import sys;print '\n', sys.version, '\n'"
+
 
 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
+    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 "*****************************************************************"
+
+       SETUP="python$PYVER -u setup.py"
+
+       # save the original
+       cp setup.py setup.py.save
 
-    # 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
 
-    # 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 --python=python$PYVER
+                       ### --requires=python$PYVER
+       rm dist/wxPython-gl*.tar.gz
 
-    # 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 --python=python$PYVER
+                       ### --requires=python$PYVER
 
-    # 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
+       # put the oringal setup.py back
+       cp setup.py.save setup.py
+       rm setup.py.*
 
-    # put the oringal 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
 
-    # rebuild the source dist without the munched up setup.py
-    $SETUP $OTHERFLAGS sdist
+    done
+
+    # rebuild the source dists without the munched up setup.py
+    $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