]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/setup.py
the sample now builds in Unicode mode
[wxWidgets.git] / wxPython / setup.py
index fdea8d98262ea4acf82914a3d9417f6a6316dbd4..3ad0cf25d7f535ba549f9ae00c5615bdbb70b28d 100755 (executable)
@@ -13,7 +13,7 @@ from my_distutils import run_swig, contrib_copy_tree
 # flags and values that affect this script
 #----------------------------------------------------------------------
 
-VERSION          = "2.3.3pre6"
+VERSION          = "2.3.3pre7"
 DESCRIPTION      = "Cross platform GUI toolkit for Python"
 AUTHOR           = "Robin Dunn"
 AUTHOR_EMAIL     = "Robin Dunn <robin@alldunn.com>"
@@ -64,6 +64,9 @@ UNDEF_NDEBUG = 1   # Python 2.2 on Unix/Linux by default defines NDEBUG,
                    # on then you end up with mismatched class structures,
                    # and wxPython will crash.
 
+NO_SCRIPTS = 0     # Don't install the tool scripts
+
+
 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,
@@ -73,11 +76,11 @@ BUILD_BASE = "build"
 
 # Some MSW build settings
 
-FINAL = 1          # Mirrors use of same flag in wx makefiles,
+FINAL = 0          # Mirrors use of same flag in wx makefiles,
                    # (0 or 1 only) should probably find a way to
                    # autodetect this...
 
-HYBRID = 0         # If set and not debug or FINAL, then build a
+HYBRID = 1         # If set and not debug or FINAL, then build a
                    # hybrid extension that can be used by the
                    # non-debug version of python, but contains
                    # debugging symbols for wxWindows and wxPython.
@@ -138,7 +141,8 @@ if bcpp_compiling:
 # Boolean (int) flags
 for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'BUILD_XRC',
              'BUILD_GIZMOS', 'BUILD_DLLWIDGET', 'BUILD_IEWIN',
-             'CORE_ONLY', 'USE_SWIG', 'IN_CVS_TREE', 'UNICODE', 'UNDEF_NDEBUG',
+             'CORE_ONLY', 'USE_SWIG', 'IN_CVS_TREE', 'UNICODE',
+             'UNDEF_NDEBUG', 'NO_SCRIPTS',
              'FINAL', 'HYBRID', ]:
     for x in range(len(sys.argv)):
         if string.find(sys.argv[x], flag) == 0:
@@ -247,12 +251,12 @@ if os.name == 'nt':
     if not FINAL or HYBRID:
         defines.append( ('__WXDEBUG__', None) )
 
-    libdirs = [opj(WXDIR, 'lib'), 'build\\ilib']
+    libdirs = [ opj(WXDIR, 'lib') ]
     wxdll = 'wxmsw' + WXDLLVER + libFlag()
-    libs = [wxdll]
+    libs = [ wxdll ]
 
     if bcpp_compiling:
-        libs = ['wx'+WXBCPPLIBVER]
+        libs = [ 'wx'+WXBCPPLIBVER ]
 
     libs = libs + ['kernel32', 'user32', 'gdi32', 'comdlg32',
             'winspool', 'winmm', 'shell32', 'oldnames', 'comctl32',
@@ -260,27 +264,31 @@ if os.name == 'nt':
             'advapi32', 'wsock32']
 
 
-    cflags = [
+    cflags = [ '/Gy',
              # '/GX-'  # workaround for internal compiler error in MSVC on some machines
              ]
     lflags = None
 
 
-    if bcpp_compiling:  # overwrite it
+    if bcpp_compiling:  # BCC flags
         cflags = ['-5', '-VF',  ### To support MSVC spurious semicolons in the class scope
                   ### else, all semicolons at the end of all DECLARE_...CALLBACK... macros must be eliminated
                   '-Hc', '-H=' + opj(WXDIR, '\src\msw\wx32.csm'),
                   '@' + opj(WXDIR, '\src\msw\wxwin32.cfg')
                   ]
+        if not FINAL:
+            cflags = cflags + ['/Od', '/v', '/y']
+            lflags = lflags + ['/v', ]
 
+    else:  # MSVC flags
+        if FINAL:
+            pass #cflags = cflags + ['/O1']
+        elif HYBRID :
+            pass #cflags = cflags + ['/Ox']
+        else:
+            pass # cflags = cflags + ['/Od', '/Z7']
+                 # lflags = ['/DEBUG', ]
 
-    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', ]
 
 
 
@@ -303,10 +311,14 @@ elif os.name == 'posix' and sys.platform[:6] == "darwin":
     cflags = string.split(cflags)
     if UNDEF_NDEBUG:
         cflags.append('-UNDEBUG')
+    if debug:
+        cflags.append('-g')
+        cflags.append('-O0')
 
     lflags = os.popen(WX_CONFIG + ' --libs', 'r').read()[:-1]
     lflags = string.split(lflags)
 
+    NO_SCRIPTS = 1
 
 
 elif os.name == 'posix':
@@ -329,6 +341,9 @@ elif os.name == 'posix':
     cflags = string.split(cflags)
     if UNDEF_NDEBUG:
         cflags.append('-UNDEBUG')
+    if debug:
+        cflags.append('-g')
+        cflags.append('-O0')
 
     lflags = os.popen(WX_CONFIG + ' --libs', 'r').read()[:-1]
     lflags = string.split(lflags)
@@ -468,6 +483,20 @@ if not GL_ONLY:
     wxpExtensions.append(ext)
 
 
+    # Extension for the wizard module
+    swig_sources = run_swig(['wizard.i'], 'src', GENDIR, PKGDIR,
+                            USE_SWIG, swig_force, swig_args, swig_deps)
+    ext = Extension('wizardc', 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
 #----------------------------------------------------------------------
@@ -873,15 +902,25 @@ if not GL_ONLY and BUILD_DLLWIDGET:
 # Tools and scripts
 #----------------------------------------------------------------------
 
-TOOLS = [("wxPython/tools",        glob.glob("tools/*.py")),
-         ("wxPython/tools/XRCed",  glob.glob("tools/XRCed/*.py") +
-                                   glob.glob("tools/XRCed/*.xrc") +
-                                   ["tools/XRCed/CHANGES",
-                                    "tools/XRCed/TODO",
-                                    "tools/XRCed/README"]),
-         ]
+## TOOLS = [("wxPython/tools",        glob.glob("tools/*.py")),
+##          ("wxPython/tools/XRCed",  glob.glob("tools/XRCed/*.py") +
+##                                    glob.glob("tools/XRCed/*.xrc") +
+##                                    ["tools/XRCed/CHANGES",
+##                                     "tools/XRCed/TODO",
+##                                     "tools/XRCed/README"]),
+##          ]
 
 
+if NO_SCRIPTS:
+    SCRIPTS = None
+else:
+    SCRIPTS = [opj('scripts/img2png'),
+               opj('scripts/img2xpm'),
+               opj('scripts/img2py'),
+               opj('scripts/xrced'),
+               opj('scripts/pyshell'),
+               opj('scripts/pycrust'),
+               ]
 
 
 #----------------------------------------------------------------------
@@ -914,14 +953,7 @@ if __name__ == "__main__":
               options = { 'build' : { 'build_base' : BUILD_BASE }},
 
               ##data_files = TOOLS,
-
-              scripts = ['scripts/img2png',
-                         'scripts/img2xpm',
-                         'scripts/img2py',
-                         'scripts/xrced',
-                         'scripts/pyshell',
-                         'scripts/pycrust',
-                         ],
+              scripts = SCRIPTS,
               )
 
     else: