1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
#!/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 6 ]; then
echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION PYVER CHARTYPE"
exit 1
fi
WXDIR=$1
DESTDIR=$2
SKIPCLEAN=$3
VERSION=$4
PYVER=$5
CHARTYPE=$6
CPU=$7
# WXDIR is the cygwin path, WXWIN is the DOS path
WXWIN=`cygpath -w $WXDIR`
export WXWIN
export WXDIR
export TOOLS=/cygdrive/c/TOOLS
export CPU
# setup the environment for the right compiler
if [ $PYVER = 2.3 ]; then
echo "Using MSVC ver 6"
. msvcset local 6
elif [ $PYVER = 2.4 -o $PYVER = 2.5 ]; then
if [ "$CPU" = "AMD64" -o "$CPU" = "X64" ]; then
echo "Using MSVC ver 7x64"
. msvcset local 7x64
else
echo "Using MSVC ver 7"
. msvcset local 7
fi
else # Python 2.6 or later
if [ "$CPU" = "AMD64" -o "$CPU" = "X64" ]; then
echo "Using MSVC ver 9x64"
. msvcset local 9x64
else
echo "Using MSVC ver 9"
. msvcset local 9
fi
fi
echo "Using compiler located at:" `which cl.exe`
echo "INCLUDE=" $INCLUDE
echo "LIB=" $LIB
# untar the source
echo "Unarchiving wxPython-src-$VERSION.tar.bz2"
cd $DESTDIR
tar xjf wxPython-src-$VERSION.tar.bz2
rm wxPython-src-$VERSION.tar.bz2
# Fix line endings
echo "Converting wxPython line endings to CRLF..."
cd $WXDIR
names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.xml" `
unix2dos $names
. $WXDIR/wxPython/distrib/all/functions.inc
# change to the right spot in the source tree and copy our build scripts
echo "Setting up for the build..."
#cd $WXDIR/build/msw
#cp $WXDIR/wxPython/distrib/msw/.m* .
#chmod +x .m*
echo "Building the HTMLHelp file..."
cd $WXDIR/docs/doxygen/out/html
##cp $DOCDIR/latex/wx/wx.css .
$TOOLS/HTMLHelpWorkshop/hhc.exe index.hhp || true
mkdir -p $WXDIR/docs/htmlhelp
mv ../wx.chm $WXDIR/docs/htmlhelp/wx.chm
echo "Building wxPython and installers..."
cd $WXDIR/wxPython
case $PYVER in
21 | 2.1) VER=21;;
22 | 2.2) VER=22;;
23 | 2.3) VER=23;;
24 | 2.4) VER=24;;
25 | 2.5) VER=25;;
26 | 2.6) VER=26;;
27 | 2.7) VER=27;;
*) VER=26
esac
# export DISTUTILS_DEBUG=1
PYTHON=$TOOLS/python$VER/python.exe
if [ "$CPU" == "AMD64" -o "$CPU" = "X64" -a -d $TOOLS/amd64 ]; then
PYTHON=$TOOLS/amd64/python$VER/python.exe
fi
mkdir -p dist
$PYTHON -u ./build-wxpython.py --unicode --cairo
$PYTHON -u distrib/make_installer.py UNICODE=1
echo "Building the developer package..."
WXWIN=`cygpath -w $WXDIR`
export WXWIN
export CPU
#$TOOLS/4dos/4nt.exe /c distrib/makedev.bat $VERSION
cd $WXDIR
cp -R wxPython/include/wx/* include/wx
mkdir -p include/wx/wxPython/i_files
cp wxPython/src/*.i include/wx/wxPython/i_files
cp wxPython/src/*.py include/wx/wxPython/i_files
cd $WXDIR/wxPython
$PYTHON -u distrib/make_wxMSW_cpp_installer.py
echo "Copying installers to $DESTDIR..."
mv dist/wx*.exe $DESTDIR
cd $DESTDIR
if [ $SKIPCLEAN != yes ]; then
echo "Cleaning up..."
rm -fr $WXDIR || true
fi
echo "-=-=-=- Goodbye! -=-=-=-"
|