]> git.saurik.com Git - wxWidgets.git/blob - wxPython/b
Fix compilation
[wxWidgets.git] / wxPython / b
1 #!/bin/bash
2
3 # Are we using bash on win32? If so source that file and then exit.
4 if [ "$OSTYPE" = "cygwin" ]; then
5 source b.win32
6 exit
7 fi
8
9 # make it easy to switch versions of SWIG
10 if [ "$SWIG" = "" ]; then
11 SWIG=/opt/swig/bin/swig-1.3.29
12 fi
13
14
15 function getpyver {
16 if [ "$1" = "15" ]; then
17 PYVER=1.5
18 elif [ "$1" = "20" ]; then
19 PYVER=2.0
20 elif [ "$1" = "21" ]; then
21 PYVER=2.1
22 elif [ "$1" = "22" ]; then
23 PYVER=2.2
24 elif [ "$1" = "23" ]; then
25 PYVER=2.3
26 elif [ "$1" = "24" ]; then
27 PYVER=2.4
28 else
29 echo You must specify Python version as first parameter.
30 exit
31 fi
32 }
33
34 getpyver $1
35 shift
36
37 python$PYVER -c "import sys;print '\n', sys.version, '\n'"
38
39
40 SETUP="python$PYVER -u setup.py"
41 FLAGS="USE_SWIG=1 SWIG=$SWIG"
42 OTHERFLAGS=""
43 PORTFLAGS=""
44 UNIFLAG="UNICODE=1"
45
46
47
48 if [ "$1" = "gtk1" -o "$1" = "gtk" ]; then
49 PORTFLAGS="WXPORT=gtk"
50 UNIFLAG="UNICODE=0"
51 shift
52 elif [ "$1" = "gtk2" ]; then
53 PORTFLAGS="WXPORT=gtk2"
54 UNIFLAG="UNICODE=1"
55 shift
56 fi
57
58 for p in $*; do
59 if [ "$p" = "UNICODE=0" -o "$p" = "UNICODE=1" ]; then
60 UNIFLAG=""
61 break
62 fi
63 done
64
65 FLAGS="$FLAGS $PORTFLAGS $UNIFLAG"
66
67
68
69 # "c" --> clean
70 if [ "$1" = "c" ]; then
71 shift
72 CMD="$SETUP $FLAGS $OTHERFLAGS clean $*"
73 OTHERCMD="rm -f wx/*.so"
74
75 # "d" --> clean extension modules only
76 elif [ "$1" = "d" ]; then
77 shift
78 CMD="rm -f wx/*.so"
79
80 # "t" --> touch *.i files
81 elif [ "$1" = "t" ]; then
82 shift
83 CMD='find . -name "*.i" | xargs touch'
84
85 # "i" --> install
86 elif [ "$1" = "i" ]; then
87 shift
88 CMD="$SETUP $FLAGS $OTHERFLAGS build_ext install $*"
89
90 # "s" --> source dist
91 elif [ "$1" = "s" ]; then
92 shift
93 CMD="$SETUP $OTHERFLAGS sdist $*"
94
95 # "r" --> rpm dist
96 elif [ "$1" = "r" ]; then
97 WXPYVER=`python$PYVER -c "import setup;print setup.VERSION"`
98 for VER in 21 22; do
99 getpyver $VER
100
101 echo "*****************************************************************"
102 echo "******* Building wxPython for Python $PYVER"
103 echo "*****************************************************************"
104
105 SETUP="python$PYVER -u setup.py"
106
107 # save the original
108 cp setup.py setup.py.save
109
110 # fix up setup.py the way we want...
111 sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp
112 sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py
113
114 # build wxPython-gl RPM
115 $SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt --python=python$PYVER
116 ### --requires=python$PYVER
117 rm dist/wxPython-gl*.tar.gz
118
119 # Build wxPython RPM
120 cp setup.py setup.py.temp
121 sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py
122 $SETUP $OTHERFLAGS bdist_rpm --binary-only --python=python$PYVER
123 ### --requires=python$PYVER
124
125 # put the oringal setup.py back
126 cp setup.py.save setup.py
127 rm setup.py.*
128
129 # rename the binary RPM's
130 mv dist/wxPython-$WXPYVER-1.i386.rpm dist/wxPython-$WXPYVER-1-Py$VER.i386.rpm
131 mv dist/wxPython-gl-$WXPYVER-1.i386.rpm dist/wxPython-gl-$WXPYVER-1-Py$VER.i386.rpm
132
133 done
134
135 # rebuild the source dists without the munched up setup.py
136 $SETUP $OTHERFLAGS bdist_rpm --source-only
137 exit 0
138
139
140 # "f" --> FINAL (no debug)
141 elif [ "$1" = "f" ]; then
142 shift
143 CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace $*"
144
145 # (no command arg) --> normal build for development
146 else
147 CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace --debug $*"
148 fi
149
150
151 echo $CMD
152 eval $CMD
153 RC=$?
154
155 if [ "$RC" = "0" -a "$OTHERCMD" != "" ]; then
156 echo $OTHERCMD
157 $OTHERCMD
158 RC=$?
159 fi
160
161 exit $RC