]>
Commit | Line | Data |
---|---|---|
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 | ||
16 | set -o errexit | |
17 | #set -o xtrace | |
18 | ||
19 | echo "-=-=-=- Hello from $HOSTNAME -=-=-=-" | |
20 | ||
21 | if [ $# -lt 5 ]; then | |
22 | echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION PYVER..." | |
23 | exit 1 | |
24 | fi | |
25 | ||
26 | WXDIR=$1 | |
27 | DESTDIR=$2 | |
28 | SKIPCLEAN=$3 | |
29 | VERSION=$4 | |
30 | shift;shift;shift;shift | |
31 | PYVER=$@ | |
32 | ||
33 | ||
34 | # WXDIR is the cygwin path, WXWIN is the DOS path | |
35 | WXWIN_OLD=$WXWIN | |
36 | WXWIN=`cygpath -m $WXDIR` | |
37 | export WXWIN | |
38 | ||
39 | ||
40 | # # Fix the PATH. (Why is this needed??) | |
41 | # PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/robind/bin:.:$WXDIR/lib/vc_dll:$PATH | |
42 | # export PATH | |
43 | # echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" | |
44 | # echo $PATH | |
45 | # echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" | |
46 | # exit 0 | |
47 | ||
48 | ||
49 | # untar the source | |
50 | echo "Unarchiving wxPythonSrc-$VERSION.tar.gz" | |
51 | cd $DESTDIR | |
52 | tar xzf wxPythonSrc-$VERSION.tar.gz | |
53 | rm wxPythonSrc-$VERSION.tar.gz | |
54 | ||
55 | ||
56 | # Fix line endings | |
57 | echo "Converting wxPython line endings to CRLF..." | |
58 | cd $WXDIR | |
59 | names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name "*.xml" ` | |
60 | unix2dos -D $names | |
61 | ||
62 | ||
63 | # change to the right spot in the source tree and copy our build scripts | |
64 | echo "Setting up for the build..." | |
65 | cd $WXDIR/build/msw | |
66 | cp $WXDIR/wxPython/distrib/msw/.m* . | |
67 | ||
68 | ||
69 | # replace some settings in setup0.h and write to setup.h | |
70 | cat > .my.sedexpr <<EOF | |
71 | s/wxDIALOG_UNIT_COMPATIBILITY *1/wxDIALOG_UNIT_COMPATIBILITY 0/g | |
72 | s/wxUSE_DEBUG_CONTEXT *0/wxUSE_DEBUG_CONTEXT 1/g | |
73 | s/wxUSE_MEMORY_TRACING *0/wxUSE_MEMORY_TRACING 1/g | |
74 | s/wxUSE_DIALUP_MANAGER *1/wxUSE_DIALUP_MANAGER 0/g | |
75 | s/wxUSE_GLCANVAS *0/wxUSE_GLCANVAS 1/g | |
76 | s/wxUSE_POSTSCRIPT *0/wxUSE_POSTSCRIPT 1/g | |
77 | s/wxUSE_AFM_FOR_POSTSCRIPT *1/wxUSE_AFM_FOR_POSTSCRIPT 0/g | |
78 | s/wxUSE_DISPLAY *0/wxUSE_DISPLAY 1/g | |
79 | EOF | |
80 | cat $WXDIR/include/wx/msw/setup0.h | sed -f .my.sedexpr > $WXDIR/include/wx/msw/setup.h | |
81 | rm .my.sedexpr | |
82 | ||
83 | ||
84 | echo "Building the wx DLLs..." | |
85 | .make hybrid | |
86 | .make hybrid-uni | |
87 | ||
88 | ||
89 | echo "Building the wx tools..." | |
90 | .make_tools | |
91 | ||
92 | # cheat and just copy the .CHM files from the regular project dir | |
93 | # TODO: Copy over the wxPythonDocs fle and run hhc on the contents of that. | |
94 | mkdir -p $WXDIR/docs/htmlhelp | |
95 | cp `cygpath $WXWIN_OLD/docs/htmlhelp`/*.chm $WXDIR/docs/htmlhelp | |
96 | ||
97 | ||
98 | echo "Building wxPython and installers..." | |
99 | cd $WXDIR/wxPython | |
100 | mkdir -p dist | |
101 | ||
102 | for ver in $PYVER; do | |
103 | echo $ver | |
104 | b $ver d USE_SWIG=0 | |
105 | b $ver h USE_SWIG=0 | |
106 | b $ver r USE_SWIG=0 | |
107 | b $ver d UNICODE=1 USE_SWIG=0 | |
108 | b $ver h UNICODE=1 USE_SWIG=0 | |
109 | b $ver r UNICODE=1 USE_SWIG=0 | |
110 | done | |
111 | ||
112 | echo "Building the developer package..." | |
113 | WXWIN=`cygpath -w $WXDIR` | |
114 | export WXWIN | |
115 | 4nt /c distrib/makedev.bat $VERSION | |
116 | ||
117 | ||
118 | echo "Copying installers to $DESTDIR..." | |
119 | mv dist/wxPythonWIN32* $DESTDIR | |
120 | cd $DESTDIR | |
121 | ||
122 | ||
123 | if [ $SKIPCLEAN != yes ]; then | |
124 | echo "Cleaning up..." | |
125 | rm -r $WXDIR || true | |
126 | fi | |
127 | ||
128 | echo "-=-=-=- Goodbye! -=-=-=-" |