Some tweaks for building the RPMs for multiple different versions of Python
all with a single command. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
81
wxPython/b
81
wxPython/b
@@ -1,20 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "15" ]; then
|
||||
PYVER=1.5
|
||||
shift
|
||||
elif [ "$1" = "20" ]; then
|
||||
PYVER=2.0
|
||||
shift
|
||||
elif [ "$1" = "21" ]; then
|
||||
PYVER=2.1
|
||||
shift
|
||||
else
|
||||
echo You must specify Python version as first parameter.
|
||||
exit
|
||||
fi
|
||||
function getpyver {
|
||||
if [ "$1" = "15" ]; then
|
||||
PYVER=1.5
|
||||
elif [ "$1" = "20" ]; then
|
||||
PYVER=2.0
|
||||
elif [ "$1" = "21" ]; then
|
||||
PYVER=2.1
|
||||
else
|
||||
echo You must specify Python version as first parameter.
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
getpyver $1
|
||||
shift
|
||||
|
||||
python$PYVER -c "import sys;print '\n', sys.version, '\n'"
|
||||
|
||||
WXPYVER=`python -c "import setup;print setup.VERSION"`
|
||||
SETUP="python$PYVER -u setup.py"
|
||||
FLAGS="USE_SWIG=1 IN_CVS_TREE=1"
|
||||
OTHERFLAGS=""
|
||||
@@ -50,28 +54,47 @@ elif [ "$1" = "s" ]; then
|
||||
# "r" --> rpm dist
|
||||
elif [ "$1" = "r" ]; then
|
||||
|
||||
# save the original
|
||||
cp setup.py setup.py.save
|
||||
for VER in 15 20 21; do
|
||||
getpyver $VER
|
||||
|
||||
# fix up setup.py the way we want...
|
||||
sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp
|
||||
sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py
|
||||
echo "*****************************************************************"
|
||||
echo "******* Building wxPython for Python $PYVER"
|
||||
echo "*****************************************************************"
|
||||
|
||||
# build wxPython-gl RPM
|
||||
$SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt
|
||||
rm dist/wxPython-gl*.tar.gz
|
||||
# NOTE: This assumes that /usr/local/bin is BEFORE /usr/bin on the PATH
|
||||
# AND that you have write access to it.
|
||||
rm -f /usr/local/bin/python
|
||||
ln -s /usr/bin/python$PYVER /usr/local/bin/python
|
||||
SETUP="/usr/local/bin/python -u setup.py"
|
||||
|
||||
# Build wxPython RPM
|
||||
cp setup.py setup.py.temp
|
||||
sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py
|
||||
$SETUP $OTHERFLAGS bdist_rpm
|
||||
# save the original
|
||||
cp setup.py setup.py.save
|
||||
|
||||
# put the oringal back
|
||||
cp setup.py.save setup.py
|
||||
rm setup.py.*
|
||||
# fix up setup.py the way we want...
|
||||
sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp
|
||||
sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py
|
||||
|
||||
# rebuild the source dist without the munched up setup.py
|
||||
# build wxPython-gl RPM
|
||||
$SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt
|
||||
rm dist/wxPython-gl*.tar.gz
|
||||
|
||||
# Build wxPython RPM
|
||||
cp setup.py setup.py.temp
|
||||
sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py
|
||||
$SETUP $OTHERFLAGS bdist_rpm --binary-only
|
||||
|
||||
# put the oringal setup.py back
|
||||
cp setup.py.save setup.py
|
||||
rm setup.py.*
|
||||
|
||||
# rename the binary RPM's
|
||||
mv dist/wxPython-$WXPYVER-1.i386.rpm dist/wxPython-$WXPYVER-1-Py$VER.i386.rpm
|
||||
mv dist/wxPython-gl-$WXPYVER-1.i386.rpm dist/wxPython-gl-$WXPYVER-1-Py$VER.i386.rpm
|
||||
|
||||
done
|
||||
# rebuild the source dists without the munched up setup.py
|
||||
$SETUP $OTHERFLAGS sdist
|
||||
$SETUP $OTHERFLAGS bdist_rpm --source-only
|
||||
exit 0
|
||||
|
||||
|
||||
|
@@ -28,7 +28,7 @@ on.
|
||||
"""
|
||||
|
||||
|
||||
BUILD_GLCANVAS = 1 # If true, build the contrib/glcanvas extension module
|
||||
BUILD_GLCANVAS = 0 #1 # If true, build the contrib/glcanvas extension module
|
||||
BUILD_OGL = 1 # If true, build the contrib/ogl extension module
|
||||
BUILD_STC = 1 # If true, build the contrib/stc extension module
|
||||
BUILD_IEWIN = 0 # Internet Explorer wrapper (experimental)
|
||||
@@ -36,7 +36,7 @@ BUILD_XRC = 1 # XML based resource system
|
||||
|
||||
|
||||
CORE_ONLY = 0 # if true, don't build any of the above
|
||||
GL_ONLY = 0 # Only used when making the -gl RPM. See the "b" script
|
||||
GL_ONLY = 0 #1 #0 # Only used when making the -gl RPM. See the "b" script
|
||||
# for the ugly details
|
||||
|
||||
USE_SWIG = 0 # Should we actually execute SWIG, or just use the
|
||||
@@ -67,6 +67,13 @@ HYBRID = 0 # If set and not debug or FINAL, then build a
|
||||
WXDLLVER = '23_1' # Version part of DLL name
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
def msg(text):
|
||||
if __name__ == "__main__":
|
||||
print text
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Some other globals
|
||||
#----------------------------------------------------------------------
|
||||
@@ -80,7 +87,7 @@ debug = '--debug' in sys.argv or '-g' in sys.argv
|
||||
bcpp_compiling = '-c' in sys.argv and 'my_bcpp' in sys.argv # Bad heuristic
|
||||
|
||||
if bcpp_compiling:
|
||||
print "Compiling wxPython by Borland C/C++ Compiler"
|
||||
msg("Compiling wxPython by Borland C/C++ Compiler")
|
||||
HYBRID=0
|
||||
WXBCPPLIBVER = string.replace(WXDLLVER,"_","")
|
||||
# Version part of BCPP build LIBRARY name
|
||||
@@ -113,7 +120,7 @@ sys.argv = filter(None, sys.argv)
|
||||
|
||||
|
||||
if CORE_ONLY:
|
||||
BUILD_GLCANVAS = 0
|
||||
BUILD_GLCANVAS = 0 #0
|
||||
BUILD_OGL = 0
|
||||
BUILD_STC = 0
|
||||
BUILD_XRC = 0
|
||||
@@ -270,7 +277,7 @@ swig_deps = ['src/my_typemaps.i']
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
if not GL_ONLY:
|
||||
print 'Preparing CORE...'
|
||||
msg('Preparing CORE...')
|
||||
swig_files = [ 'wx.i', 'windows.i', 'windows2.i', 'windows3.i', 'events.i',
|
||||
'misc.i', 'misc2.i', 'gdi.i', 'mdi.i', 'controls.i',
|
||||
'controls2.i', 'cmndlgs.i', 'stattool.i', 'frames.i', 'image.i',
|
||||
@@ -375,7 +382,7 @@ if not GL_ONLY:
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
if BUILD_GLCANVAS or GL_ONLY:
|
||||
print 'Preparing GLCANVAS...'
|
||||
msg('Preparing GLCANVAS...')
|
||||
location = 'contrib/glcanvas'
|
||||
swig_files = ['glcanvas.i']
|
||||
other_sources = []
|
||||
@@ -415,7 +422,7 @@ if BUILD_GLCANVAS or GL_ONLY:
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
if not GL_ONLY and BUILD_OGL:
|
||||
print 'Preparing OGL...'
|
||||
msg('Preparing OGL...')
|
||||
location = 'contrib/ogl'
|
||||
OGLLOC = location + '/contrib/src/ogl'
|
||||
OGLINC = location + '/contrib/include'
|
||||
@@ -464,7 +471,7 @@ if not GL_ONLY and BUILD_OGL:
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
if not GL_ONLY and BUILD_STC:
|
||||
print 'Preparing STC...'
|
||||
msg('Preparing STC...')
|
||||
location = 'contrib/stc'
|
||||
STCLOC = location + '/contrib/src/stc'
|
||||
STCINC = location + '/contrib/include'
|
||||
@@ -483,7 +490,7 @@ if not GL_ONLY and BUILD_STC:
|
||||
[STC_H+'/stc.h'])
|
||||
|
||||
# copy a project specific py module to the main package dir
|
||||
copy_file(location+'/stc.py', PKGDIR, update=1, verbose=1)
|
||||
copy_file(location+'/stc.py', PKGDIR, update=1, verbose=0)
|
||||
|
||||
# add some include dirs to the standard set
|
||||
stc_includes = includes[:]
|
||||
@@ -549,7 +556,7 @@ if not GL_ONLY and BUILD_STC:
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
if not GL_ONLY and BUILD_IEWIN:
|
||||
print 'Preparing IEWIN...'
|
||||
msg('Preparing IEWIN...')
|
||||
location = 'contrib/iewin'
|
||||
|
||||
swig_files = ['iewin.i', ]
|
||||
@@ -579,7 +586,7 @@ if not GL_ONLY and BUILD_IEWIN:
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
if not GL_ONLY and BUILD_XRC:
|
||||
print 'Preparing XRC...'
|
||||
msg('Preparing XRC...')
|
||||
location = 'contrib/xrc'
|
||||
XMLLOC = location + '/contrib/src/xrc'
|
||||
XMLINC = location + '/contrib/include'
|
||||
|
Reference in New Issue
Block a user