Add a set of scripts that can be used to build and upload the
distributable binaries for all platforms all from a single command-line on a single machine. Will probably also be used for a daily build cron job. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
100
wxPython/distrib/all/build-windows
Executable file
100
wxPython/distrib/all/build-windows
Executable file
@@ -0,0 +1,100 @@
|
||||
#!/bin/bash
|
||||
# ---------------------------------------------------------------------------
|
||||
# Build wxWidgets and wxPython on a Windows box. This is normally called
|
||||
# from build-all but it should be able to be used standalone too...
|
||||
#
|
||||
# The command line must have the following parameters:
|
||||
#
|
||||
# 1. the path to the base of the wx source tree
|
||||
# 2. the path of where to put the resulting installers
|
||||
# 3. skipclean flag (yes|no)
|
||||
# 4. the VERSION
|
||||
# 5. the remaining args are the versions of Python to build for
|
||||
#
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
#set -o xtrace
|
||||
|
||||
echo "-=-=-=- Hello from $HOSTNAME -=-=-=-"
|
||||
|
||||
if [ $# -lt 5 ]; then
|
||||
echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION PYVER..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WXDIR=$1
|
||||
DESTDIR=$2
|
||||
SKIPCLEAN=$3
|
||||
VERSION=$4
|
||||
shift;shift;shift;shift
|
||||
PYVER=$@
|
||||
|
||||
# WXDIR is the cygwin path, WXWIN is the DOS path
|
||||
WXWIN_OLD=$WXWIN
|
||||
WXWIN=`cygpath -w $WXDIR`
|
||||
export WXWIN
|
||||
|
||||
# Fix the PATH. (Why is this needed??)
|
||||
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/robind/bin:.:$WXDIR/lib/vc_dll:$PATH
|
||||
export PATH
|
||||
|
||||
# change to the right spot and copy our build scripts
|
||||
cd $WXDIR/build/msw
|
||||
cp $WXDIR/wxPython/distrib/msw/.m* .
|
||||
|
||||
# replace some settings in setup0.h and write to setup.h
|
||||
cat > .my.sedexpr <<EOF
|
||||
# s/wxDIALOG_UNIT_COMPATIBILITY *1/wxDIALOG_UNIT_COMPATIBILITY 0/g
|
||||
s/wxUSE_DEBUG_CONTEXT *0/wxUSE_DEBUG_CONTEXT 1/g
|
||||
s/wxUSE_MEMORY_TRACING *0/wxUSE_MEMORY_TRACING 1/g
|
||||
s/wxUSE_DIALUP_MANAGER *1/wxUSE_DIALUP_MANAGER 0/g
|
||||
s/wxUSE_GLCANVAS *0/wxUSE_GLCANVAS 1/g
|
||||
s/wxUSE_POSTSCRIPT *0/wxUSE_POSTSCRIPT 1/g
|
||||
s/wxUSE_AFM_FOR_POSTSCRIPT *1/wxUSE_AFM_FOR_POSTSCRIPT 0/g
|
||||
s/wxUSE_DISPLAY *0/wxUSE_DISPLAY 1/g
|
||||
EOF
|
||||
cat $WXDIR/include/wx/msw/setup0.h | sed -f .my.sedexpr > $WXDIR/include/wx/msw/setup.h
|
||||
rm .my.sedexpr
|
||||
|
||||
|
||||
echo "Building the wx DLLs..."
|
||||
.make hybrid
|
||||
.make hybrid-uni
|
||||
|
||||
echo "Building the wx tools..."
|
||||
.make_tools
|
||||
|
||||
# cheat and just copy the .CHM files from the regular project dir
|
||||
mkdir -p $WXDIR/docs/htmlhelp
|
||||
cp `cygpath $WXWIN_OLD/docs/htmlhelp`/*.chm $WXDIR/docs/htmlhelp
|
||||
|
||||
|
||||
echo "Building wxPython and installers..."
|
||||
cd $WXDIR/wxPython
|
||||
|
||||
for ver in $PYVER; do
|
||||
echo $ver
|
||||
b $ver d USE_SWIG=0
|
||||
b $ver h USE_SWIG=0
|
||||
b $ver r USE_SWIG=0
|
||||
b $ver d UNICODE=1 USE_SWIG=0
|
||||
b $ver h UNICODE=1 USE_SWIG=0
|
||||
b $ver r UNICODE=1 USE_SWIG=0
|
||||
done
|
||||
|
||||
echo "Building the developer package..."
|
||||
4nt /c distrib/makedev.bat $VERSION
|
||||
|
||||
|
||||
echo "Copying installers to $DESTDIR..."
|
||||
mv dist/wxPythonWIN32* $DESTDIR
|
||||
cd $DESTDIR
|
||||
|
||||
|
||||
if [ $SKIPCLEAN != yes ]; then
|
||||
echo "Cleaning up..."
|
||||
rm -r $WXDIR
|
||||
fi
|
||||
|
||||
echo "-=-=-=- Goodbye! -=-=-=-"
|
Reference in New Issue
Block a user