X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/afa3e1edcd90ad7d3e1f492d00bba3ef639e0d7a..6c41903ced78c0b4115785aa80a934833abbc1ef:/wxPython/setup.py diff --git a/wxPython/setup.py b/wxPython/setup.py index 5cc81bb891..ce3be79c2c 100755 --- a/wxPython/setup.py +++ b/wxPython/setup.py @@ -13,10 +13,10 @@ from my_distutils import run_swig, contrib_copy_tree # flags and values that affect this script #---------------------------------------------------------------------- -VERSION = "2.3b3" +VERSION = "2.3.2b1" DESCRIPTION = "Cross platform GUI toolkit for Python" AUTHOR = "Robin Dunn" -AUTHOR_EMAIL = "robin@alldunn.com" +AUTHOR_EMAIL = "Robin Dunn " URL = "http://wxPython.org/" LICENCE = "wxWindows (LGPL derivative)" LONG_DESCRIPTION = """\ @@ -31,6 +31,10 @@ on. BUILD_GLCANVAS = 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) +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 # for the ugly details @@ -60,7 +64,14 @@ HYBRID = 0 # If set and not debug or FINAL, then build a # 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 #---------------------------------------------------------------------- @@ -73,13 +84,23 @@ wxpExtensions = [] force = '--force' in sys.argv or '-f' in sys.argv 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: + msg("Compiling wxPython by Borland C/C++ Compiler") + HYBRID=0 + WXBCPPLIBVER = string.replace(WXDLLVER,"_","") + # Version part of BCPP build LIBRARY name + WXDLLVER="" # no dll ver path avaible + #---------------------------------------------------------------------- # 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 @@ -102,6 +123,7 @@ if CORE_ONLY: BUILD_GLCANVAS = 0 BUILD_OGL = 0 BUILD_STC = 0 + BUILD_XRC = 0 #---------------------------------------------------------------------- # Setup some platform specific stuff @@ -142,6 +164,23 @@ if os.name == 'nt': ('WXP_USE_THREAD', '1'), ] + if bcpp_compiling: # overwrite it + defines = [ + ('_WINDOWS', None), + ('WINVER', '0x0400'), + ('STRICT', None), + + ('WXUSINGDLL', '1'), + + ('SWIG_GLOBAL', None), + ('HAVE_CONFIG_H', None), + ('WXP_USE_THREAD', '1'), + + ('WXUSE_DEFINE','1'), + ('_RTLDLL',None), + ] + + if not FINAL or HYBRID: defines.append( ('__WXDEBUG__', None) ) @@ -155,18 +194,37 @@ if os.name == 'nt': wxdll = 'wx' + WXDLLVER + 'd' - libs = [wxdll, 'kernel32', 'user32', 'gdi32', 'comdlg32', + libs = [wxdll] + if bcpp_compiling: + libs = ['wx'+WXBCPPLIBVER] + + libs = libs + ['kernel32', 'user32', 'gdi32', 'comdlg32', 'winspool', 'winmm', 'shell32', 'oldnames', 'comctl32', 'ctl3d32', 'odbc32', 'ole32', 'oleaut32', 'uuid', 'rpcrt4', 'advapi32', 'wsock32'] - cflags = ['/GX-'] # workaround for internal compiler error in MSVC 5 + + cflags = [] #['/GX-'] # workaround for internal compiler error in MSVC 5 lflags = None - if not FINAL and HYBRID: + + if bcpp_compiling: # overwrite it + cflags = ['-5', '-VF', ### To supplort MSVC spurious semicolons in the class scope + ### else, all semicolons at the end of all DECLARE_...CALLBACK... macros must be eliminated + '-Hc', '-H='+WXDIR+'\src\msw\wx32.csm', + '@'+WXDIR+'\src\msw\wxwin32.cfg' + ] + + + if not FINAL and HYBRID and not bcpp_compiling: cflags = cflags + ['/Od', '/Z7'] lflags = ['/DEBUG', ] + elif bcpp_compiling and not FINAL: + cflags = cflags + ['/Od', '/v', '/y'] + lflags = lflags + ['/v', ] ## '/PDB:NONE'] + + elif os.name == 'posix': # Set flags for Unix type platforms @@ -219,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', @@ -319,14 +377,29 @@ if not GL_ONLY: wxpExtensions.append(ext) + # Extension for the help module + swig_sources = run_swig(['help.i'], 'src', GENDIR, PKGDIR, + USE_SWIG, swig_force, swig_args, swig_deps) + ext = Extension('helpc', swig_sources, + include_dirs = includes, + define_macros = defines, + library_dirs = libdirs, + libraries = libs, + extra_compile_args = cflags, + extra_link_args = lflags, + ) + wxpExtensions.append(ext) + + #---------------------------------------------------------------------- # Define the GLCanvas extension module #---------------------------------------------------------------------- if BUILD_GLCANVAS or GL_ONLY: - print 'Preparing GLCANVAS...' + msg('Preparing GLCANVAS...') location = 'contrib/glcanvas' swig_files = ['glcanvas.i'] + other_sources = [] swig_sources = run_swig(swig_files, location, GENDIR, PKGDIR, USE_SWIG, swig_force, swig_args) @@ -337,9 +410,13 @@ if BUILD_GLCANVAS or GL_ONLY: gl_libs = ['wx_gtkd_gl', 'GL', 'GLU'] else: gl_libs = ['wx_gtk_gl', 'GL', 'GLU'] + else: + other_sources = [location + '/msw/myglcanvas.cpp'] + gl_libs = ['opengl32', 'glu32'] + ext = Extension('glcanvasc', - swig_sources, + swig_sources + other_sources, include_dirs = includes, define_macros = defines, @@ -359,7 +436,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' @@ -408,7 +485,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' @@ -427,7 +504,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[:] @@ -488,6 +565,129 @@ if not GL_ONLY and BUILD_STC: +#---------------------------------------------------------------------- +# Define the IEWIN extension module (experimental) +#---------------------------------------------------------------------- + +if not GL_ONLY and BUILD_IEWIN: + msg('Preparing IEWIN...') + location = 'contrib/iewin' + + swig_files = ['iewin.i', ] + + swig_sources = run_swig(swig_files, location, '', PKGDIR, + USE_SWIG, swig_force, swig_args) + + + ext = Extension('iewinc', ['%s/IEHtmlWin.cpp' % location, + ] + swig_sources, + + include_dirs = includes, + define_macros = defines, + + library_dirs = libdirs, + libraries = libs, + + extra_compile_args = cflags, + extra_link_args = lflags, + ) + + 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 #---------------------------------------------------------------------- @@ -506,6 +706,7 @@ if __name__ == "__main__": packages = [PKGDIR, PKGDIR+'.lib', PKGDIR+'.lib.editor', + PKGDIR+'.lib.mixins' ], ext_package = PKGDIR,