# flags and values that affect this script
#----------------------------------------------------------------------
-VERSION = "2.3.0"
+VERSION = "2.3.2b1"
DESCRIPTION = "Cross platform GUI toolkit for Python"
AUTHOR = "Robin Dunn"
-AUTHOR_EMAIL = "robin@alldunn.com"
+AUTHOR_EMAIL = "Robin Dunn <robin@alldunn.com>"
URL = "http://wxPython.org/"
LICENCE = "wxWindows (LGPL derivative)"
LONG_DESCRIPTION = """\
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)
+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
# wxWindows must have been built with /MD, not /MDd
# (using FINAL=hybrid will do it.)
-WXDLLVER = '23_0' # Version part of DLL name
+WXDLLVER = '23_2' # Version part of DLL name
+
+
+#----------------------------------------------------------------------
+
+def msg(text):
+ if __name__ == "__main__":
+ print text
#----------------------------------------------------------------------
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
# Check for build flags on the command line
#----------------------------------------------------------------------
-for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'CORE_ONLY',
- 'USE_SWIG', 'IN_CVS_TREE', 'FINAL', 'HYBRID', ]:
+for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'BUILD_XRC',
+ 'CORE_ONLY', 'USE_SWIG', 'IN_CVS_TREE',
+ 'FINAL', 'HYBRID', ]:
for x in range(len(sys.argv)):
if string.find(sys.argv[x], flag) == 0:
pos = string.find(sys.argv[x], '=') + 1
BUILD_GLCANVAS = 0
BUILD_OGL = 0
BUILD_STC = 0
+ BUILD_XRC = 0
#----------------------------------------------------------------------
# Setup some platform specific stuff
#----------------------------------------------------------------------
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',
#----------------------------------------------------------------------
if BUILD_GLCANVAS or GL_ONLY:
- print 'Preparing GLCANVAS...'
+ msg('Preparing GLCANVAS...')
location = 'contrib/glcanvas'
swig_files = ['glcanvas.i']
other_sources = []
#----------------------------------------------------------------------
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'
#----------------------------------------------------------------------
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'
[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[:]
#----------------------------------------------------------------------
if not GL_ONLY and BUILD_IEWIN:
- print 'Preparing IEWIN...'
+ msg('Preparing IEWIN...')
location = 'contrib/iewin'
swig_files = ['iewin.i', ]
wxpExtensions.append(ext)
+#----------------------------------------------------------------------
+# Define the XRC extension module
+#----------------------------------------------------------------------
+
+if not GL_ONLY and BUILD_XRC:
+ msg('Preparing XRC...')
+ location = 'contrib/xrc'
+ XMLLOC = location + '/contrib/src/xrc'
+ XMLINC = location + '/contrib/include'
+
+ swig_files = ['xrc.i']
+
+ swig_sources = run_swig(swig_files, location, '', PKGDIR,
+ USE_SWIG, swig_force, swig_args)
+
+ xmlres_includes = includes[:]
+ xmlres_includes.append('%s/expat/xmlparse' % XMLLOC)
+ xmlres_includes.append('%s/expat/xmltok' % XMLLOC)
+ xmlres_includes.append(XMLINC)
+
+
+ # make sure local copy of contrib files are up to date
+ if IN_CVS_TREE:
+ contrib_copy_tree(WXDIR + '/contrib/include/wx/xrc', XMLINC+'/wx/xrc')
+ contrib_copy_tree(WXDIR + '/contrib/src/xrc', XMLLOC)
+
+ ext = Extension('xrcc', ['%s/expat/xmlparse/xmlparse.c' % XMLLOC,
+ '%s/expat/xmltok/xmlrole.c' % XMLLOC,
+ '%s/expat/xmltok/xmltok.c' % XMLLOC,
+
+ '%s/xh_bmp.cpp' % XMLLOC,
+ '%s/xh_bmpbt.cpp' % XMLLOC,
+ '%s/xh_bttn.cpp' % XMLLOC,
+ '%s/xh_cald.cpp' % XMLLOC,
+ '%s/xh_chckb.cpp' % XMLLOC,
+
+ '%s/xh_chckl.cpp' % XMLLOC,
+ '%s/xh_choic.cpp' % XMLLOC,
+ '%s/xh_combo.cpp' % XMLLOC,
+ '%s/xh_dlg.cpp' % XMLLOC,
+ '%s/xh_frame.cpp' % XMLLOC,
+
+ '%s/xh_gauge.cpp' % XMLLOC,
+ '%s/xh_html.cpp' % XMLLOC,
+ '%s/xh_listb.cpp' % XMLLOC,
+ '%s/xh_listc.cpp' % XMLLOC,
+ '%s/xh_menu.cpp' % XMLLOC,
+
+ '%s/xh_notbk.cpp' % XMLLOC,
+ '%s/xh_panel.cpp' % XMLLOC,
+ '%s/xh_radbt.cpp' % XMLLOC,
+ '%s/xh_radbx.cpp' % XMLLOC,
+ '%s/xh_scrol.cpp' % XMLLOC,
+
+ '%s/xh_sizer.cpp' % XMLLOC,
+ '%s/xh_slidr.cpp' % XMLLOC,
+ '%s/xh_spin.cpp' % XMLLOC,
+ '%s/xh_stbmp.cpp' % XMLLOC,
+ '%s/xh_stbox.cpp' % XMLLOC,
+
+ '%s/xh_stlin.cpp' % XMLLOC,
+ '%s/xh_sttxt.cpp' % XMLLOC,
+ '%s/xh_text.cpp' % XMLLOC,
+ '%s/xh_toolb.cpp' % XMLLOC,
+ '%s/xh_tree.cpp' % XMLLOC,
+
+ '%s/xh_unkwn.cpp' % XMLLOC,
+ '%s/xml.cpp' % XMLLOC,
+ '%s/xmlbin.cpp' % XMLLOC,
+ '%s/xmlbinz.cpp' % XMLLOC,
+ '%s/xmlexpat.cpp' % XMLLOC,
+
+ '%s/xmlres.cpp' % XMLLOC,
+ '%s/xmlrsall.cpp' % XMLLOC,
+ '%s/xmlwrite.cpp' % XMLLOC,
+
+ ] + swig_sources,
+
+ include_dirs = xmlres_includes,
+ define_macros = defines,
+
+ library_dirs = libdirs,
+ libraries = libs,
+
+ extra_compile_args = cflags,
+ extra_link_args = lflags,
+ )
+
+ wxpExtensions.append(ext)
+
+
+
#----------------------------------------------------------------------
# Do the Setup/Build/Install/Whatever
packages = [PKGDIR,
PKGDIR+'.lib',
PKGDIR+'.lib.editor',
+ PKGDIR+'.lib.mixins'
],
ext_package = PKGDIR,