]> git.saurik.com Git - wxWidgets.git/blame - wxPython/distrib/all/do-build-windows
removed 'unsigned' from 'unsigned int' so epydoc doesn't get ocnfused
[wxWidgets.git] / wxPython / distrib / all / do-build-windows
CommitLineData
e4bb5998
RD
1#!/bin/bash
2# ---------------------------------------------------------------------------
3# Build wxWidgets and wxPython on a Windows box. This is normally called
4# from build-all but it should be able to be used standalone too...
5#
6# The command line must have the following parameters:
7#
8# 1. the path to the base of the wx source tree
9# 2. the path of where to put the resulting installers
10# 3. skipclean flag (yes|no)
11# 4. the VERSION
12# 5. the remaining args are the versions of Python to build for
13#
14# ---------------------------------------------------------------------------
15
16set -o errexit
17#set -o xtrace
18
19echo "-=-=-=- Hello from $HOSTNAME -=-=-=-"
20
f5ed42f8
RD
21if [ $# -lt 6 ]; then
22 echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION PYVER CHARTYPE"
e4bb5998
RD
23 exit 1
24fi
25
26WXDIR=$1
27DESTDIR=$2
28SKIPCLEAN=$3
29VERSION=$4
3d6c749c 30PYVER=$5
f5ed42f8 31CHARTYPE=$6
e4bb5998
RD
32
33# WXDIR is the cygwin path, WXWIN is the DOS path
e4bb5998
RD
34WXWIN=`cygpath -w $WXDIR`
35export WXWIN
0f475e8a
RD
36export WXDIR
37export TOOLS=/cygdrive/c/TOOLS
e4bb5998 38
e4bb5998 39
3d6c749c
RD
40# setup the compiler
41if [ $PYVER = 2.3 ]; then
42 echo "Using MSVC ver 6"
43 . msvcset local 6
44 echo `which cl.exe`
45else
46 echo "Using MSVC ver 7"
47 . msvcset local 7
48 echo `which cl.exe`
49fi
50
e4bb5998
RD
51
52# untar the source
bf158fe6 53echo "Unarchiving wxPython-src-$VERSION.tar.bz2"
e4bb5998 54cd $DESTDIR
bf158fe6
RD
55tar xjf wxPython-src-$VERSION.tar.bz2
56rm wxPython-src-$VERSION.tar.bz2
e4bb5998
RD
57
58
59# Fix line endings
60echo "Converting wxPython line endings to CRLF..."
61cd $WXDIR
62names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.xml" `
63unix2dos -D $names
64
65
66# change to the right spot in the source tree and copy our build scripts
67echo "Setting up for the build..."
68cd $WXDIR/build/msw
69cp $WXDIR/wxPython/distrib/msw/.m* .
3d6c749c 70chmod +x .m*
e4bb5998
RD
71
72
73# replace some settings in setup0.h and write to setup.h
74cat > .my.sedexpr <<EOF
75s/wxDIALOG_UNIT_COMPATIBILITY *1/wxDIALOG_UNIT_COMPATIBILITY 0/g
8c87c6b4 76s/wxUSE_EXCEPTIONS *1/wxUSE_EXCEPTIONS 0/g
e4bb5998
RD
77s/wxUSE_DEBUG_CONTEXT *0/wxUSE_DEBUG_CONTEXT 1/g
78s/wxUSE_MEMORY_TRACING *0/wxUSE_MEMORY_TRACING 1/g
79s/wxUSE_DIALUP_MANAGER *1/wxUSE_DIALUP_MANAGER 0/g
80s/wxUSE_GLCANVAS *0/wxUSE_GLCANVAS 1/g
81s/wxUSE_POSTSCRIPT *0/wxUSE_POSTSCRIPT 1/g
82s/wxUSE_AFM_FOR_POSTSCRIPT *1/wxUSE_AFM_FOR_POSTSCRIPT 0/g
83s/wxUSE_DISPLAY *0/wxUSE_DISPLAY 1/g
8c87c6b4 84s/wxUSE_DIB_FOR_BITMAP *0/wxUSE_DIB_FOR_BITMAP 1/g
30eb969a 85s/wxUSE_DEBUGREPORT *1/wxUSE_DEBUGREPORT 0/g
fa5a80d6 86s/wxUSE_GRAPHICS_CONTEXT *0/wxUSE_GRAPHICS_CONTEXT 1/g
e4bb5998
RD
87EOF
88cat $WXDIR/include/wx/msw/setup0.h | sed -f .my.sedexpr > $WXDIR/include/wx/msw/setup.h
89rm .my.sedexpr
90
91
92echo "Building the wx DLLs..."
f5ed42f8 93if [ $CHARTYPE = both -o $CHARTYPE = ansi ]; then
fa5a80d6 94 .make hybrid USE_GDIPLUS=1
f5ed42f8
RD
95fi
96if [ $CHARTYPE = both -o $CHARTYPE = unicode ]; then
fa5a80d6 97 .make hybrid-uni USE_GDIPLUS=1
f5ed42f8
RD
98fi
99
100
101# echo "Building tex2rtf..."
102# cd $WXDIR/utils/tex2rtf/src
103# $WXDIR/build/msw/.mymake hybrid
104# cp vc_mswhdll/tex2rtf.exe $WXDIR/lib/vc_dll/tex2rtf.exe
e4bb5998 105
f5ed42f8
RD
106# echo "Translating docs to html..."
107# DOCDIR=$WXDIR/docs
108# cd $DOCDIR/latex/wx
109# mkdir -p $DOCDIR/html/wx
110# cp *.gif $DOCDIR/html/wx
111# cp *.css $DOCDIR/html/wx
112# DOCSRC=`cygpath -w $DOCDIR/latex/wx/manual.tex`
113# DOCDEST=`cygpath -w $DOCDIR/html/wx/wx.htm`
114# DOCINI=`cygpath -w $DOCDIR/latex/wx/tex2rtf_css.ini`
e4bb5998 115
f5ed42f8
RD
116# $WXDIR/lib/vc_dll/tex2rtf.exe $DOCSRC $DOCDEST -twice -html -macros $DOCINI
117
118
3ecece7e
RD
119# echo "Extracting html docs..."
120# mkdir -p $WXDIR/docs/html/wx
121# cd $WXDIR/docs/html/wx
122# rm -rf *
123# tar xjf $DESTDIR/wxPython-docs-$VERSION.tar.bz2
124# rm $DESTDIR/wxPython-docs-$VERSION.tar.bz2
125# unzip wxPython-$VERSION/docs/wx.zip
126
0f475e8a
RD
127
128echo "Building the HTMLHelp file..."
f5ed42f8
RD
129cd $WXDIR/docs/html/wx
130##cp $DOCDIR/latex/wx/wx.css .
0f475e8a
RD
131$TOOLS/HTMLHelpWorkshop/hhc.exe wx.hhp || true
132mkdir -p ../../htmlhelp
133mv wx.chm ../../htmlhelp
134
0f475e8a 135
e4bb5998 136
e4bb5998
RD
137
138
139echo "Building wxPython and installers..."
140cd $WXDIR/wxPython
141mkdir -p dist
f5ed42f8
RD
142if [ $CHARTYPE = both -o $CHARTYPE = ansi ]; then
143 b $PYVER d UNICODE=0 USE_SWIG=0
144 b $PYVER h UNICODE=0 USE_SWIG=0 EP_ADD_OPTS=1
145 b $PYVER r UNICODE=0 USE_SWIG=0
146fi
147if [ $CHARTYPE = both -o $CHARTYPE = unicode ]; then
148 b $PYVER d UNICODE=1 USE_SWIG=0
149 b $PYVER h UNICODE=1 USE_SWIG=0 EP_ADD_OPTS=1
150 b $PYVER r UNICODE=1 USE_SWIG=0
151fi
e4bb5998 152
3ecece7e 153
e4bb5998
RD
154echo "Building the developer package..."
155WXWIN=`cygpath -w $WXDIR`
156export WXWIN
0f475e8a 157$TOOLS/4dos/4nt /c distrib/makedev.bat $VERSION
e4bb5998
RD
158
159
160echo "Copying installers to $DESTDIR..."
161mv dist/wxPython* $DESTDIR
162cd $DESTDIR
163
164
165if [ $SKIPCLEAN != yes ]; then
166 echo "Cleaning up..."
167 rm -r $WXDIR || true
168fi
169
170echo "-=-=-=- Goodbye! -=-=-=-"