]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/setup.py
e0c545f162a73f79bfd6b905f06f89b2e410c01c
   2 #---------------------------------------------------------------------- 
   5 from distutils
.core      
import setup
, Extension
 
   6 from distutils
.file_util 
import copy_file
 
   7 from distutils
.dir_util  
import mkpath
 
   8 from distutils
.dep_util  
import newer
 
  10 from my_distutils 
import run_swig
, contrib_copy_tree
 
  12 #---------------------------------------------------------------------- 
  13 # flags and values that affect this script 
  14 #---------------------------------------------------------------------- 
  17 DESCRIPTION      
= "Cross platform GUI toolkit for Python" 
  19 AUTHOR_EMAIL     
= "Robin Dunn <robin@alldunn.com>" 
  20 URL              
= "http://wxPython.org/" 
  21 LICENCE          
= "wxWindows (LGPL derivative)" 
  22 LONG_DESCRIPTION 
= """\ 
  23 wxPython is a GUI toolkit for Python that is a wrapper around the 
  24 wxWindows C++ GUI library.  wxPython provides a large variety of 
  25 window types and controls, all implemented with a native look and 
  26 feel (and native runtime speed) on the platforms it is supported 
  31 BUILD_GLCANVAS 
= 1 # If true, build the contrib/glcanvas extension module 
  32 BUILD_OGL 
= 1      # If true, build the contrib/ogl extension module 
  33 BUILD_STC 
= 1      # If true, build the contrib/stc extension module 
  34 BUILD_IEWIN 
= 0    # Internet Explorer wrapper (experimental) 
  35 BUILD_XRC 
= 1      # XML based resource system 
  38 CORE_ONLY 
= 0      # if true, don't build any of the above 
  39 GL_ONLY 
= 0        # Only used when making the -gl RPM.  See the "b" script 
  40                    # for the ugly details 
  42 USE_SWIG 
= 0       # Should we actually execute SWIG, or just use the 
  43                    # files already in the distribution? 
  45 IN_CVS_TREE 
= 0    # Set to true if building in a full wxWindows CVS 
  46                    # tree, otherwise will assume all needed files are 
  47                    # available in the wxPython source distribution 
  49 WX_CONFIG 
= "wx-config"    # Usually you shouldn't need to touch this, 
  50                            # but you can set it to pass an alternate 
  51                            # version of wx-config or alternate flags, 
  52                            # eg. as required by the .deb in-tree build. 
  54 # Some MSW build settings 
  56 FINAL 
= 1          # Mirrors use of same flag in wx makefiles, 
  57                    # (0 or 1 only) should probably find a way to 
  60 HYBRID 
= 0         # If set and not debug or FINAL, then build a 
  61                    # hybrid extension that can be used by the 
  62                    # non-debug version of python, but contains 
  63                    # debugging symbols for wxWindows and wxPython. 
  64                    # wxWindows must have been built with /MD, not /MDd 
  65                    # (using FINAL=hybrid will do it.) 
  67 WXDLLVER 
= '23_2'  # Version part of DLL name 
  70 #---------------------------------------------------------------------- 
  73     if __name__ 
== "__main__": 
  77 #---------------------------------------------------------------------- 
  79 #---------------------------------------------------------------------- 
  84 force 
= '--force' in sys
.argv 
or '-f' in sys
.argv
 
  85 debug 
= '--debug' in sys
.argv 
or '-g' in sys
.argv
 
  87 bcpp_compiling 
= '-c' in sys
.argv 
and 'my_bcpp' in sys
.argv 
# Bad heuristic 
  90     msg("Compiling wxPython by Borland C/C++ Compiler") 
  92     WXBCPPLIBVER 
= string
.replace(WXDLLVER
,"_","") 
  93     # Version part of BCPP build LIBRARY name 
  94     WXDLLVER
="" # no dll ver path avaible 
  97 #---------------------------------------------------------------------- 
  98 # Check for build flags on the command line 
  99 #---------------------------------------------------------------------- 
 101 for flag 
in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'BUILD_XRC', 
 102              'CORE_ONLY', 'USE_SWIG', 'IN_CVS_TREE', 
 103              'FINAL', 'HYBRID', ]: 
 104     for x 
in range(len(sys
.argv
)): 
 105         if string
.find(sys
.argv
[x
], flag
) == 0: 
 106             pos 
= string
.find(sys
.argv
[x
], '=') + 1 
 108                 vars()[flag
] = eval(sys
.argv
[x
][pos
:]) 
 111 for option 
in ['WX_CONFIG', 'WXDLLVER', ]: 
 112     for x 
in range(len(sys
.argv
)): 
 113         if string
.find(sys
.argv
[x
], option
) == 0: 
 114             pos 
= string
.find(sys
.argv
[x
], '=') + 1 
 116                 vars()[option
] = sys
.argv
[x
][pos
:] 
 119 sys
.argv 
= filter(None, sys
.argv
) 
 128 #---------------------------------------------------------------------- 
 129 # Setup some platform specific stuff 
 130 #---------------------------------------------------------------------- 
 133     # Set compile flags and such for MSVC.  These values are derived 
 134     # from the wxWindows makefiles for MSVC, others will probably 
 136     WXDIR 
= os
.environ
['WXWIN'] 
 148                 os
.path
.join(WXDIR
, 'include'), 
 151     defines 
= [ ('WIN32', None),        # Some of these are no longer 
 152                 ('__WIN32__', None),    # necessary.  Anybody know which? 
 154                 ('__WINDOWS__', None), 
 155                 ('WINVER', '0x0400'), 
 162                 ('SWIG_GLOBAL', None), 
 163                 ('HAVE_CONFIG_H', None), 
 164                 ('WXP_USE_THREAD', '1'), 
 167     if bcpp_compiling
:  # overwrite it 
 170             ('WINVER', '0x0400'), 
 175             ('SWIG_GLOBAL', None), 
 176             ('HAVE_CONFIG_H', None), 
 177             ('WXP_USE_THREAD', '1'), 
 179             ('WXUSE_DEFINE','1'), 
 184     if not FINAL 
or HYBRID
: 
 185         defines
.append( ('__WXDEBUG__', None) ) 
 187     libdirs 
= [os
.path
.join(WXDIR
, 'lib'), 'build\\ilib'] 
 190         wxdll 
= 'wx' + WXDLLVER
 
 192         wxdll 
= 'wx' + WXDLLVER 
+ 'h' 
 194         wxdll 
= 'wx' + WXDLLVER 
+ 'd' 
 199         libs 
= ['wx'+WXBCPPLIBVER
] 
 201     libs 
= libs 
+ ['kernel32', 'user32', 'gdi32', 'comdlg32', 
 202             'winspool', 'winmm', 'shell32', 'oldnames', 'comctl32', 
 203             'ctl3d32', 'odbc32', 'ole32', 'oleaut32', 'uuid', 'rpcrt4', 
 204             'advapi32', 'wsock32'] 
 207     cflags 
= [] #['/GX-']  # workaround for internal compiler error in MSVC on some machines 
 211     if bcpp_compiling
:  # overwrite it 
 212         cflags 
= ['-5', '-VF',  ### To supplort MSVC spurious semicolons in the class scope 
 213                   ### else, all semicolons at the end of all DECLARE_...CALLBACK... macros must be eliminated 
 214                   '-Hc', '-H='+WXDIR
+'\src\msw\wx32.csm', 
 215                   '@'+WXDIR
+'\src\msw\wxwin32.cfg' 
 219     if not FINAL 
and HYBRID 
and not bcpp_compiling
: 
 220         cflags 
= cflags 
+ ['/Od', '/Z7'] 
 221         lflags 
= ['/DEBUG', ] 
 223     elif bcpp_compiling 
and not FINAL
: 
 224         cflags 
= cflags 
+ ['/Od', '/v', '/y'] 
 225         lflags 
= lflags 
+ ['/v', ]   ## '/PDB:NONE'] 
 229 elif os
.name 
== 'posix': 
 230     # Set flags for Unix type platforms 
 232     WXDIR 
= '..'              # assumes IN_CVS_TREE 
 233     WXPLAT 
= '__WXGTK__'      # and assumes GTK... 
 234     GENDIR 
= 'gtk'            # Need to allow for Motif eventually too 
 237     defines 
= [('SWIG_GLOBAL', None), 
 238                ('HAVE_CONFIG_H', None), 
 239                ('WXP_USE_THREAD', '1'), 
 244     cflags 
= os
.popen(WX_CONFIG 
+ ' --cflags', 'r').read()[:-1] + ' ' + \
 
 245              os
.popen('gtk-config --cflags', 'r').read()[:-1] 
 246     cflags 
= string
.split(cflags
) 
 248     lflags 
= os
.popen(WX_CONFIG 
+ ' --libs', 'r').read()[:-1] 
 249     lflags 
= string
.split(lflags
) 
 253     raise 'Sorry Charlie...' 
 256 #---------------------------------------------------------------------- 
 257 # Check if the version file needs updated 
 258 #---------------------------------------------------------------------- 
 260 if IN_CVS_TREE 
and newer('setup.py', 'src/__version__.py'): 
 261     open('src/__version__.py', 'w').write("ver = '%s'\n" % VERSION
) 
 265 #---------------------------------------------------------------------- 
 267 #---------------------------------------------------------------------- 
 270 swig_args 
= ['-c++', '-shadow', '-python', '-keyword', '-dnone', #'-dascii', 
 271              '-I./src', '-D'+WXPLAT
] 
 272 swig_deps 
= ['src/my_typemaps.i'] 
 275 #---------------------------------------------------------------------- 
 276 # Define the CORE extension module 
 277 #---------------------------------------------------------------------- 
 280     msg('Preparing CORE...') 
 281     swig_files 
= [ 'wx.i', 'windows.i', 'windows2.i', 'windows3.i', 'events.i', 
 282                    'misc.i', 'misc2.i', 'gdi.i', 'mdi.i', 'controls.i', 
 283                    'controls2.i', 'cmndlgs.i', 'stattool.i', 'frames.i', 'image.i', 
 284                    'printfw.i', 'sizers.i', 'clip_dnd.i', 
 285                    'filesys.i', 'streams.i', 
 286                    ##'grid.i', 'html.i', 'htmlhelp.i', 'calendar.i', 'utils.i', 
 289     swig_sources 
= run_swig(swig_files
, 'src', GENDIR
, PKGDIR
, 
 290                             USE_SWIG
, swig_force
, swig_args
, swig_deps
) 
 292     copy_file('src/__init__.py', PKGDIR
, update
=1, verbose
=0) 
 293     copy_file('src/__version__.py', PKGDIR
, update
=1, verbose
=0) 
 296     if IN_CVS_TREE
:   # update the licence files 
 298         for file in ['preamble.txt', 'licence.txt', 'licendoc.txt', 'lgpl.txt']: 
 299             copy_file(WXDIR
+'/docs/'+file, 'licence/'+file, update
=1, verbose
=0) 
 303         rc_file 
= ['src/wxc.rc'] 
 308     ext 
= Extension('wxc', ['src/helpers.cpp', 
 310                             ] + rc_file 
+ swig_sources
, 
 312                     include_dirs 
= includes
, 
 313                     define_macros 
= defines
, 
 315                     library_dirs 
= libdirs
, 
 318                     extra_compile_args 
= cflags
, 
 319                     extra_link_args 
= lflags
, 
 321     wxpExtensions
.append(ext
) 
 324     # Extension for the grid module 
 325     swig_sources 
= run_swig(['grid.i'], 'src', GENDIR
, PKGDIR
, 
 326                             USE_SWIG
, swig_force
, swig_args
, swig_deps
) 
 327     ext 
= Extension('gridc', swig_sources
, 
 328                     include_dirs 
=  includes
, 
 329                     define_macros 
= defines
, 
 330                     library_dirs 
= libdirs
, 
 332                     extra_compile_args 
= cflags
, 
 333                     extra_link_args 
= lflags
, 
 335     wxpExtensions
.append(ext
) 
 338     # Extension for the html modules 
 339     swig_sources 
= run_swig(['html.i', 'htmlhelp.i'], 'src', GENDIR
, PKGDIR
, 
 340                             USE_SWIG
, swig_force
, swig_args
, swig_deps
) 
 341     ext 
= Extension('htmlc', swig_sources
, 
 342                     include_dirs 
=  includes
, 
 343                     define_macros 
= defines
, 
 344                     library_dirs 
= libdirs
, 
 346                     extra_compile_args 
= cflags
, 
 347                     extra_link_args 
= lflags
, 
 349     wxpExtensions
.append(ext
) 
 352     # Extension for the utils module 
 353     swig_sources 
= run_swig(['utils.i'], 'src', GENDIR
, PKGDIR
, 
 354                             USE_SWIG
, swig_force
, swig_args
, swig_deps
) 
 355     ext 
= Extension('utilsc', swig_sources
, 
 356                     include_dirs 
=  includes
, 
 357                     define_macros 
= defines
, 
 358                     library_dirs 
= libdirs
, 
 360                     extra_compile_args 
= cflags
, 
 361                     extra_link_args 
= lflags
, 
 363     wxpExtensions
.append(ext
) 
 366     # Extension for the calendar module 
 367     swig_sources 
= run_swig(['calendar.i'], 'src', GENDIR
, PKGDIR
, 
 368                             USE_SWIG
, swig_force
, swig_args
, swig_deps
) 
 369     ext 
= Extension('calendarc', swig_sources
, 
 370                     include_dirs 
=  includes
, 
 371                     define_macros 
= defines
, 
 372                     library_dirs 
= libdirs
, 
 374                     extra_compile_args 
= cflags
, 
 375                     extra_link_args 
= lflags
, 
 377     wxpExtensions
.append(ext
) 
 380     # Extension for the help module 
 381     swig_sources 
= run_swig(['help.i'], 'src', GENDIR
, PKGDIR
, 
 382                             USE_SWIG
, swig_force
, swig_args
, swig_deps
) 
 383     ext 
= Extension('helpc', swig_sources
, 
 384                     include_dirs 
=  includes
, 
 385                     define_macros 
= defines
, 
 386                     library_dirs 
= libdirs
, 
 388                     extra_compile_args 
= cflags
, 
 389                     extra_link_args 
= lflags
, 
 391     wxpExtensions
.append(ext
) 
 394 #---------------------------------------------------------------------- 
 395 # Define the GLCanvas extension module 
 396 #---------------------------------------------------------------------- 
 398 if BUILD_GLCANVAS 
or GL_ONLY
: 
 399     msg('Preparing GLCANVAS...') 
 400     location 
= 'contrib/glcanvas' 
 401     swig_files 
= ['glcanvas.i'] 
 404     swig_sources 
= run_swig(swig_files
, location
, GENDIR
, PKGDIR
, 
 405                             USE_SWIG
, swig_force
, swig_args
) 
 408     if os
.name 
== 'posix': 
 409         if '-D__WXDEBUG__' in cflags
: 
 410             gl_libs 
= ['wx_gtkd_gl', 'GL', 'GLU'] 
 412             gl_libs 
= ['wx_gtk_gl', 'GL', 'GLU'] 
 414         other_sources 
= [location 
+ '/msw/myglcanvas.cpp'] 
 415         gl_libs 
= ['opengl32', 'glu32'] 
 418     ext 
= Extension('glcanvasc', 
 419                     swig_sources 
+ other_sources
, 
 421                     include_dirs 
= includes
, 
 422                     define_macros 
= defines
, 
 424                     library_dirs 
= libdirs
, 
 425                     libraries 
= libs 
+ gl_libs
, 
 427                     extra_compile_args 
= cflags
, 
 428                     extra_link_args 
= lflags
, 
 431     wxpExtensions
.append(ext
) 
 434 #---------------------------------------------------------------------- 
 435 # Define the OGL extension module 
 436 #---------------------------------------------------------------------- 
 438 if not GL_ONLY 
and BUILD_OGL
: 
 439     msg('Preparing OGL...') 
 440     location 
= 'contrib/ogl' 
 441     OGLLOC 
= location 
+ '/contrib/src/ogl' 
 442     OGLINC 
= location 
+ '/contrib/include' 
 444     swig_files 
= ['ogl.i', 'oglbasic.i', 'oglshapes.i', 'oglshapes2.i', 
 447     swig_sources 
= run_swig(swig_files
, location
, '', PKGDIR
, 
 448                             USE_SWIG
, swig_force
, swig_args
) 
 450     # make sure local copy of contrib files are up to date 
 452         contrib_copy_tree(WXDIR 
+ '/contrib/include/wx/ogl', OGLINC
+'/wx/ogl') 
 453         contrib_copy_tree(WXDIR 
+ '/contrib/src/ogl', OGLLOC
) 
 455     ext 
= Extension('oglc', ['%s/basic.cpp' % OGLLOC
, 
 456                              '%s/bmpshape.cpp' % OGLLOC
, 
 457                              '%s/composit.cpp' % OGLLOC
, 
 458                              '%s/divided.cpp' % OGLLOC
, 
 459                              '%s/lines.cpp' % OGLLOC
, 
 460                              '%s/misc.cpp' % OGLLOC
, 
 461                              '%s/basic2.cpp' % OGLLOC
, 
 462                              '%s/canvas.cpp' % OGLLOC
, 
 463                              '%s/constrnt.cpp' % OGLLOC
, 
 464                              '%s/drawn.cpp' % OGLLOC
, 
 465                              '%s/mfutils.cpp' % OGLLOC
, 
 466                              '%s/ogldiag.cpp' % OGLLOC
, 
 469                     include_dirs 
=  [OGLINC
] + includes
, 
 470                     define_macros 
= defines
, 
 472                     library_dirs 
= libdirs
, 
 475                     extra_compile_args 
= cflags
, 
 476                     extra_link_args 
= lflags
, 
 479     wxpExtensions
.append(ext
) 
 483 #---------------------------------------------------------------------- 
 484 # Define the STC extension module 
 485 #---------------------------------------------------------------------- 
 487 if not GL_ONLY 
and BUILD_STC
: 
 488     msg('Preparing STC...') 
 489     location 
= 'contrib/stc' 
 490     STCLOC 
= location 
+ '/contrib/src/stc' 
 491     STCINC 
= location 
+ '/contrib/include' 
 492     STC_H 
=  location 
+ '/contrib/include/wx/stc' 
 494     # make sure local copy of contrib files are up to date 
 496         contrib_copy_tree(WXDIR 
+ '/contrib/include/wx/stc', STCINC
+'/wx/stc') 
 497         contrib_copy_tree(WXDIR 
+ '/contrib/src/stc', STCLOC
) 
 500     swig_files 
= ['stc_.i'] 
 501     swig_sources 
= run_swig(swig_files
, location
, '', PKGDIR
, 
 502                             USE_SWIG
, swig_force
, 
 503                             swig_args 
+ ['-I'+STC_H
, '-I'+location
], 
 506     # copy a project specific py module to the main package dir 
 507     copy_file(location
+'/stc.py', PKGDIR
, update
=1, verbose
=0) 
 509     # add some include dirs to the standard set 
 510     stc_includes 
= includes
[:] 
 511     stc_includes
.append('%s/scintilla/include' % STCLOC
) 
 512     stc_includes
.append('%s/scintilla/src' % STCLOC
) 
 513     stc_includes
.append(STCINC
) 
 515     # and some macro definitions 
 516     stc_defines 
= defines
[:] 
 517     stc_defines
.append( ('__WX__', None) ) 
 518     stc_defines
.append( ('SCI_LEXER', None) ) 
 521     ext 
= Extension('stc_c', 
 522                     ['%s/scintilla/src/AutoComplete.cxx' % STCLOC
, 
 523                      '%s/scintilla/src/CallTip.cxx' % STCLOC
, 
 524                      '%s/scintilla/src/CellBuffer.cxx' % STCLOC
, 
 525                      '%s/scintilla/src/ContractionState.cxx' % STCLOC
, 
 526                      '%s/scintilla/src/Document.cxx' % STCLOC
, 
 527                      '%s/scintilla/src/Editor.cxx' % STCLOC
, 
 528                      '%s/scintilla/src/Indicator.cxx' % STCLOC
, 
 529                      '%s/scintilla/src/KeyMap.cxx' % STCLOC
, 
 530                      '%s/scintilla/src/KeyWords.cxx' % STCLOC
, 
 531                      '%s/scintilla/src/LineMarker.cxx' % STCLOC
, 
 532                      '%s/scintilla/src/PropSet.cxx' % STCLOC
, 
 533                      '%s/scintilla/src/ScintillaBase.cxx' % STCLOC
, 
 534                      '%s/scintilla/src/Style.cxx' % STCLOC
, 
 535                      '%s/scintilla/src/ViewStyle.cxx' % STCLOC
, 
 536                      '%s/scintilla/src/LexCPP.cxx' % STCLOC
, 
 537                      '%s/scintilla/src/LexHTML.cxx' % STCLOC
, 
 538                      '%s/scintilla/src/LexLua.cxx' % STCLOC
, 
 539                      '%s/scintilla/src/LexOthers.cxx' % STCLOC
, 
 540                      '%s/scintilla/src/LexPerl.cxx' % STCLOC
, 
 541                      '%s/scintilla/src/LexPython.cxx' % STCLOC
, 
 542                      '%s/scintilla/src/LexSQL.cxx' % STCLOC
, 
 543                      '%s/scintilla/src/LexVB.cxx' % STCLOC
, 
 544                      '%s/scintilla/src/DocumentAccessor.cxx' % STCLOC
, 
 545                      '%s/scintilla/src/UniConversion.cxx' % STCLOC
, 
 546                      '%s/scintilla/src/WindowAccessor.cxx' % STCLOC
, 
 547                      '%s/scintilla/src/PosRegExp.cxx' % STCLOC
, 
 549                      '%s/PlatWX.cpp' % STCLOC
, 
 550                      '%s/ScintillaWX.cpp' % STCLOC
, 
 551                      '%s/stc.cpp' % STCLOC
, 
 554                     include_dirs 
= stc_includes
, 
 555                     define_macros 
= stc_defines
, 
 557                     library_dirs 
= libdirs
, 
 560                     extra_compile_args 
= cflags
, 
 561                     extra_link_args 
= lflags
, 
 564     wxpExtensions
.append(ext
) 
 568 #---------------------------------------------------------------------- 
 569 # Define the IEWIN extension module (experimental) 
 570 #---------------------------------------------------------------------- 
 572 if not GL_ONLY 
and BUILD_IEWIN
: 
 573     msg('Preparing IEWIN...') 
 574     location 
= 'contrib/iewin' 
 576     swig_files 
= ['iewin.i', ] 
 578     swig_sources 
= run_swig(swig_files
, location
, '', PKGDIR
, 
 579                             USE_SWIG
, swig_force
, swig_args
) 
 582     ext 
= Extension('iewinc', ['%s/IEHtmlWin.cpp' % location
, 
 585                     include_dirs 
=  includes
, 
 586                     define_macros 
= defines
, 
 588                     library_dirs 
= libdirs
, 
 591                     extra_compile_args 
= cflags
, 
 592                     extra_link_args 
= lflags
, 
 595     wxpExtensions
.append(ext
) 
 598 #---------------------------------------------------------------------- 
 599 # Define the XRC extension module 
 600 #---------------------------------------------------------------------- 
 602 if not GL_ONLY 
and BUILD_XRC
: 
 603     msg('Preparing XRC...') 
 604     location 
= 'contrib/xrc' 
 605     XMLLOC 
= location 
+ '/contrib/src/xrc' 
 606     XMLINC 
= location 
+ '/contrib/include' 
 608     swig_files 
= ['xrc.i'] 
 610     swig_sources 
= run_swig(swig_files
, location
, '', PKGDIR
, 
 611                             USE_SWIG
, swig_force
, swig_args
) 
 613     xmlres_includes 
= includes
[:] 
 614     xmlres_includes
.append('%s/expat/xmlparse' % XMLLOC
) 
 615     xmlres_includes
.append('%s/expat/xmltok' % XMLLOC
) 
 616     xmlres_includes
.append(XMLINC
) 
 619     # make sure local copy of contrib files are up to date 
 621         contrib_copy_tree(WXDIR 
+ '/contrib/include/wx/xrc', XMLINC
+'/wx/xrc') 
 622         contrib_copy_tree(WXDIR 
+ '/contrib/src/xrc', XMLLOC
) 
 624     ext 
= Extension('xrcc', ['%s/expat/xmlparse/xmlparse.c' % XMLLOC
, 
 625                                 '%s/expat/xmltok/xmlrole.c' % XMLLOC
, 
 626                                 '%s/expat/xmltok/xmltok.c' % XMLLOC
, 
 628                                 '%s/xh_bmp.cpp' % XMLLOC
, 
 629                                 '%s/xh_bmpbt.cpp' % XMLLOC
, 
 630                                 '%s/xh_bttn.cpp' % XMLLOC
, 
 631                                 '%s/xh_cald.cpp' % XMLLOC
, 
 632                                 '%s/xh_chckb.cpp' % XMLLOC
, 
 634                                 '%s/xh_chckl.cpp' % XMLLOC
, 
 635                                 '%s/xh_choic.cpp' % XMLLOC
, 
 636                                 '%s/xh_combo.cpp' % XMLLOC
, 
 637                                 '%s/xh_dlg.cpp' % XMLLOC
, 
 638                                 '%s/xh_frame.cpp' % XMLLOC
, 
 640                                 '%s/xh_gauge.cpp' % XMLLOC
, 
 641                                 '%s/xh_html.cpp' % XMLLOC
, 
 642                                 '%s/xh_listb.cpp' % XMLLOC
, 
 643                                 '%s/xh_listc.cpp' % XMLLOC
, 
 644                                 '%s/xh_menu.cpp' % XMLLOC
, 
 646                                 '%s/xh_notbk.cpp' % XMLLOC
, 
 647                                 '%s/xh_panel.cpp' % XMLLOC
, 
 648                                 '%s/xh_radbt.cpp' % XMLLOC
, 
 649                                 '%s/xh_radbx.cpp' % XMLLOC
, 
 650                                 '%s/xh_scrol.cpp' % XMLLOC
, 
 652                                 '%s/xh_sizer.cpp' % XMLLOC
, 
 653                                 '%s/xh_slidr.cpp' % XMLLOC
, 
 654                                 '%s/xh_spin.cpp' % XMLLOC
, 
 655                                 '%s/xh_stbmp.cpp' % XMLLOC
, 
 656                                 '%s/xh_stbox.cpp' % XMLLOC
, 
 658                                 '%s/xh_stlin.cpp' % XMLLOC
, 
 659                                 '%s/xh_sttxt.cpp' % XMLLOC
, 
 660                                 '%s/xh_text.cpp' % XMLLOC
, 
 661                                 '%s/xh_toolb.cpp' % XMLLOC
, 
 662                                 '%s/xh_tree.cpp' % XMLLOC
, 
 664                                 '%s/xh_unkwn.cpp' % XMLLOC
, 
 665                                 '%s/xml.cpp' % XMLLOC
, 
 666                                 '%s/xmlbin.cpp' % XMLLOC
, 
 667                                 '%s/xmlbinz.cpp' % XMLLOC
, 
 668                                 '%s/xmlexpat.cpp' % XMLLOC
, 
 670                                 '%s/xmlres.cpp' % XMLLOC
, 
 671                                 '%s/xmlrsall.cpp' % XMLLOC
, 
 672                                 '%s/xmlwrite.cpp' % XMLLOC
, 
 676                     include_dirs 
=  xmlres_includes
, 
 677                     define_macros 
= defines
, 
 679                     library_dirs 
= libdirs
, 
 682                     extra_compile_args 
= cflags
, 
 683                     extra_link_args 
= lflags
, 
 686     wxpExtensions
.append(ext
) 
 691 #---------------------------------------------------------------------- 
 692 # Do the Setup/Build/Install/Whatever 
 693 #---------------------------------------------------------------------- 
 695 if __name__ 
== "__main__": 
 699               description      
= DESCRIPTION
, 
 700               long_description 
= LONG_DESCRIPTION
, 
 702               author_email     
= AUTHOR_EMAIL
, 
 708                           PKGDIR
+'.lib.editor', 
 712               ext_package 
= PKGDIR
, 
 713               ext_modules 
= wxpExtensions
, 
 718         setup(name             
= "wxPython-gl", 
 720               description      
= "wxGLCanvas class for wxPython", 
 722               author_email     
= AUTHOR_EMAIL
, 
 726               py_modules 
= [ "wxPython.glcanvas" ], 
 728               ext_package 
= PKGDIR
, 
 729               ext_modules 
= wxpExtensions
, 
 735 #---------------------------------------------------------------------- 
 736 #----------------------------------------------------------------------