X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b62f00d8e3ec5437ab780cb3d73d299cc61e20c..adebd2d72c8897f30bd9e673d1e16ef2794d72ab:/wxPython/setup.py diff --git a/wxPython/setup.py b/wxPython/setup.py index 6d0138973f..d3fdd3e56e 100755 --- a/wxPython/setup.py +++ b/wxPython/setup.py @@ -42,6 +42,10 @@ IN_CVS_TREE = 0 # Set to true if building in a full wxWindows CVS # tree, otherwise will assume all needed files are # available in the wxPython source distribution +WX_CONFIG = "wx-config" # Usually you shouldn't need to touch this, + # but you can set it to pass an alternate + # version of wx-config or alternate flags, + # eg. as required by the .deb in-tree build. # Some MSW build settings @@ -69,14 +73,22 @@ 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: + print "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', - 'WXDLLVER', ]: + '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 @@ -84,6 +96,14 @@ for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'CORE_ONLY', vars()[flag] = eval(sys.argv[x][pos:]) sys.argv[x] = '' +for option in ['WX_CONFIG', 'WXDLLVER', ]: + for x in range(len(sys.argv)): + if string.find(sys.argv[x], option) == 0: + pos = string.find(sys.argv[x], '=') + 1 + if pos > 0: + vars()[option] = sys.argv[x][pos:] + sys.argv[x] = '' + sys.argv = filter(None, sys.argv) @@ -131,6 +151,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) ) @@ -144,18 +181,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 @@ -172,11 +228,11 @@ elif os.name == 'posix': libdirs = [] libs = [] - cflags = os.popen('wx-config --cflags', 'r').read()[:-1] + ' ' + \ + cflags = os.popen(WX_CONFIG + ' --cflags', 'r').read()[:-1] + ' ' + \ os.popen('gtk-config --cflags', 'r').read()[:-1] cflags = string.split(cflags) - lflags = os.popen('wx-config --libs', 'r').read()[:-1] + lflags = os.popen(WX_CONFIG + ' --libs', 'r').read()[:-1] lflags = string.split(lflags) @@ -316,6 +372,7 @@ if BUILD_GLCANVAS or GL_ONLY: print '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) @@ -326,9 +383,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,