wxWidgets/wxPython/b.win32
Robin Dunn 214c4fbea5 Changes needed to be able to build with SWIG 1.3.24, 1.3.27 as well as
the upcoming 1.3.28, using #if statements on SWIG_VERSION.

Adjustments to ownership of SWIG objects, add some destructors and
explicitly disown non-window objects when their ownership is
transfered to a C++ object.

Since all window objects are owned by their parent, or by themselves,
always set their thisown attribute to False.

Explicitly set thisown to False after any Destroy() methods are
called, so SWIG doesn't try to destroy them again.

Etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-29 02:09:45 +00:00

117 lines
2.2 KiB
Bash

#!/bin/bash
# ----------------------------------------------------------------------
# To Robin: I tried to avoid making any changes to the existing
# build scripts, but my env requires me to specify Windows paths...
# if this breaks something at your end, let me know and we can
# figure out some solution for both of us.
if [ "$SWIGDIR" = "" ]; then
SWIGDIR=$PROJECTS\\SWIG-1.3.27
fi
FLAGS="USE_SWIG=1 SWIG=$SWIGDIR\\swig.exe"
# Use non-default python?
case $1 in
21 | 2.1) VER=21; shift ;;
22 | 2.2) VER=22; shift ;;
23 | 2.3) VER=23; shift ;;
24 | 2.4) VER=24; shift ;;
*) VER=24
esac
PYTHON=$TOOLS/python$VER/python.exe
SETUP="$PYTHON -u setup.py"
$PYTHON -c "import sys;print '\n', sys.version, '\n'"
# "c" --> clean
if [ "$1" = "c" ]; then
shift
CMD="$SETUP $FLAGS clean $@"
OTHERCMD="rm wx/*.pyd"
# just remove the *.pyd's
elif [ "$1" = "d" ]; then
shift
CMD="rm wx/*.pyd"
# touch all the *.i files so swig will regenerate
elif [ "$1" = "t" ]; then
shift
CMD=
find . -name "*.i" | xargs -l touch
# "i" --> install
elif [ "$1" = "i" ]; then
shift
CMD="$SETUP build install"
# "r" --> make installer
elif [ "$1" = "r" ]; then
shift
CMD="$PYTHON -u distrib\make_installer.py $@"
# "s" --> source dist
elif [ "$1" = "s" ]; then
shift
CMD="$SETUP sdist"
# "f" --> FINAL
elif [ "$1" == "f" ]; then
shift
CMD="$SETUP $FLAGS FINAL=1 build_ext --inplace $@"
# "h" --> HYBRID
elif [ "$1" = "h" ]; then
shift
CMD="$SETUP $FLAGS HYBRID=1 build_ext --inplace $@"
# "a" --> make all installers
elif [ "$1" = "a" ]; then
shift
CMD=
# $0 22 d
# $0 22 h
# $0 22 r
# $0 22 d UNICODE=1
# $0 22 h UNICODE=1
# $0 22 r UNICODE=1
$0 23 d
$0 23 h
$0 23 r
$0 23 d UNICODE=1
$0 23 h UNICODE=1
$0 23 r UNICODE=1
# "b" --> both debug and hybrid builds
elif [ "$1" = "b" ]; then
shift
CMD="echo Finished!"
$0 $VER $@
$0 $VER h $@
# (no command arg) --> normal debug build for development
else
CMD="$SETUP $FLAGS HYBRID=0 build_ext --inplace --debug $@"
fi
if [ "$CMD" != "" ]; then
echo $CMD
$CMD
fi
if [ "$OTHERCMD" != "" ]; then
echo $OTHERCMD
$OTHERCMD
fi