#!/bin/bash
-PY_VERSION=$1
-shift
+unicode=no
+debug=no
+reswig=no
+all=no
+
+if [ "$1" = all ]; then
+ all=yes
+else
+ PY_VERSION=$1
+fi
+
+shift
+
+for flag in $*; do
+ case ${flag} in
+ debug) debug=yes ;;
+ unicode) unicode=yes ;;
+ reswig) reswig=yes ;;
+ esac
+done
if [ "$WXWIN" = "" ]; then
export WXWIN=`pwd`/../..
fi
+if [ $all = yes ]; then
+ $WXWIN/wxPython/distrib/build_packages.sh 23
+ $WXWIN/wxPython/distrib/build_packages.sh 23 unicode
+ $WXWIN/wxPython/distrib/build_packages.sh 24
+ $WXWIN/wxPython/distrib/build_packages.sh 24 unicode
+fi
+
echo "wxWidgets directory is: $WXWIN"
if [ "$OSTYPE" = "cygwin" ]; then
export SWIGDIR=$TOOLS/SWIG-1.3.24
fi
+ DEBUG_FLAG=
+ UNICODE_FLAG=
+ if [ $debug = yes ]; then
+ DEBUG_FLAG=--debug
+ fi
+ if [ $unicode = yes ]; then
+ UNICODE_FLAG="UNICODE=1"
+ fi
+
# copy wxPython build scripts
cp $WXWIN/wxPython/distrib/msw/.m* $WXWIN/build/msw
# setup wxPython defines
cp $WXWIN/include/wx/msw/setup0.h $WXWIN/include/wx/msw/setup.h
- $TOOLS/Python$PY_VERSION/python `cygpath -d $WXWIN/wxPython/distrib/create_setup.h.py` $@
+ $TOOLS/Python$PY_VERSION/python `cygpath -d $WXWIN/wxPython/distrib/create_setup.h.py` $UNICODE_FLAG
- export PATH=${PATH}:${WXWIN}/lib/vc_dll
+ export PATH=${PATH}:${WXWIN}/lib/vc_dll:${TOOLS}/Python${PY_VERSION}
cd $WXWIN/build/msw
# remove old build files
rm -rf vc_msw*
UNI=
- if [ "$UNICODE" != "" ]; then
+ if [ $unicode = yes ]; then
UNI=-uni
fi
./.make hybrid$UNI
-
# make tools for docs creation, etc.
./.make_tools
- # update the language files
- cd $WXWIN/locale
- make allmo
-
- # TODO: Make the documentation
cd $WXWIN/wxPython
- #distrib/makedocs
-
- $TOOLS/Python$PY_VERSION/python `cygpath -d distrib/makemo.py`
+ # update the language files
+ $TOOLS/Python$PY_VERSION/python `cygpath -d $WXWIN/wxPython/distrib/makemo.py`
rm -rf build build.unicode
rm -rf wx/*.pyd
# re-generate SWIG files
- b $PY_VERSION t
+ if [ $reswig = yes ]; then
+ $WXWIN/wxPython/b $PY_VERSION t
+ fi
# build the hybrid extension
# NOTE: Win Python needs Windows-style pathnames, so we
# need to convert
- export WXWIN=`cygpath -d $WXWIN`
- export SWIGDIR=`cygpath -d $SWIGDIR`
+ export WXWIN=`cygpath -w $WXWIN`
+ export SWIGDIR=`cygpath -w $SWIGDIR`
- DEBUG_FLAG=
- UNICODE_FLAG=
- if [ "$DEBUG" != "" ]; then
- DEBUG_FLAG=--debug
- fi
- if [ "$UNICODE" != "" ]; then
- UNICODE_FLAG="UNICODE=1"
- fi
- b $PY_VERSION h $DEBUG_FLAG $UNICODE_FLAG
+ $WXWIN/wxPython/b $PY_VERSION h $DEBUG_FLAG $UNICODE_FLAG
# make the dev package
- #distrib/makedev
+ $WXWIN/wxPython/distrib/makedev
+ $WXWIN/wxPython/distrib/makedocs
+ $WXWIN/wxPython/distrib/makedemo
- $TOOLS/Python$PY_VERSION/python distrib/make_installer_inno4.py $UNICODE_FLAG
- exit
-elif [ "$OSTYPE" = "darwin" ]; then
+ $TOOLS/Python$PY_VERSION/python `cygpath -d $WXWIN/wxPython/distrib/make_installer_inno4.py` $UNICODE_FLAG
+elif [ "${OSTYPE:0:6}" = "darwin" ]; then
+ OSX_VERSION=`sw_vers -productVersion`
+ echo "OS X Version: ${OSX_VERSION:0:4}"
cd $WXWIN/wxPython
+ if [ ! -d dist ]; then
+ mkdir dist
+ fi
# re-generate SWIG files
- ./b $PY_VERSION t
+ RESWIG=
+ if [ $reswig = yes ]; then
+ RESWIG=reswig
+ fi
- sudo distrib/mac/wxPythonOSX/build 2.3 panther inplace
- exit
+ PY_DOT_VER=2.3
+ if [ "$PY_VERSION" = "24" ]; then
+ PY_DOT_VER=2.4
+ fi
+
+ UNICODE_OPT=
+ if [ $unicode = yes ]; then
+ UNICODE_OPT=unicode
+ fi
+
+ DEBUG_OPT=
+ if [ $debug = yes ]; then
+ DEBUG_OPT=debug
+ fi
+ # On Tiger, build Universal.
+ UNIV_OPT=
+ if [ ${OSX_VERSION:0:4} = "10.4" ]; then
+ UNIV_OPT="universal"
+ fi
+
+ #sudo $WXWIN/wxPython/distrib/makedocs
+ $WXWIN/wxPython/distrib/makedemo
+ export TARBALLDIR=$WXWIN/wxPython/dist
+ echo "distrib/mac/wxPythonOSX/build $PY_DOT_VER inplace $UNICODE_OPT $RESWIG"
+
+ distrib/mac/wxPythonOSX/build $PY_DOT_VER inplace $UNICODE_OPT $DEBUG_OPT $RESWIG $UNIV_OPT
else
echo "OSTYPE $OSTYPE not yet supported by this build script."
fi
+
+# return to original dir
+cd $WXWIN/wxPython/distrib
+