From cfe766c352acceed1ac71921fee8cf3c2071ac03 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 5 Jul 2001 18:54:09 +0000 Subject: [PATCH] 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 --- wxPython/b | 85 ++++++++++++++++++++++++++++++----------------- wxPython/setup.py | 29 ++++++++++------ 2 files changed, 72 insertions(+), 42 deletions(-) diff --git a/wxPython/b b/wxPython/b index 4888c8ad75..530ce7aaed 100755 --- a/wxPython/b +++ b/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 + + echo "*****************************************************************" + echo "******* Building wxPython for Python $PYVER" + echo "*****************************************************************" + + # 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" + + # save the original + cp setup.py setup.py.save + + # 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 - # 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 + # build wxPython-gl RPM + $SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt + rm dist/wxPython-gl*.tar.gz - # 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 - # 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 + # put the oringal setup.py back + cp setup.py.save setup.py + rm setup.py.* - # put the oringal 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 - # rebuild the source dist without the munched up setup.py + done + # rebuild the source dists without the munched up setup.py $SETUP $OTHERFLAGS sdist + $SETUP $OTHERFLAGS bdist_rpm --source-only exit 0 diff --git a/wxPython/setup.py b/wxPython/setup.py index 2cf5322bf1..33ea793759 100755 --- a/wxPython/setup.py +++ b/wxPython/setup.py @@ -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' -- 2.47.2