+#----------------------------------------------------------------------
+# Define the XRC extension module
+#----------------------------------------------------------------------
+
+if not GL_ONLY and BUILD_XRC:
+ msg('Preparing XRC...')
+ location = 'contrib/xrc'
+ XMLLOC = opj(location, 'contrib/src/xrc')
+ XMLINC = opj(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(opj(CTRB_INC, 'xrc'), opj(XMLINC, 'wx/xrc'))
+ contrib_copy_tree(opj(CTRB_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)
+
+
+
+#----------------------------------------------------------------------
+# Define the GIZMOS extension module
+#----------------------------------------------------------------------
+
+if not GL_ONLY and BUILD_GIZMOS:
+ msg('Preparing GIZMOS...')
+ location = 'contrib/gizmos'
+ GIZMOLOC = opj(location, 'contrib/src/gizmos')
+ GIZMOINC = opj(location, 'contrib/include')
+
+ swig_files = ['gizmos.i']
+
+ swig_sources = run_swig(swig_files, location, '', PKGDIR,
+ USE_SWIG, swig_force, swig_args)
+
+ gizmos_includes = includes[:]
+ gizmos_includes.append(GIZMOINC)
+
+
+ # make sure local copy of contrib files are up to date
+ if IN_CVS_TREE:
+ contrib_copy_tree(opj(CTRB_INC, 'gizmos'), opj(GIZMOINC, 'wx/gizmos'))
+ contrib_copy_tree(opj(CTRB_SRC, 'gizmos'), GIZMOLOC)
+
+ ext = Extension('gizmosc', [
+ '%s/dynamicsash.cpp' % GIZMOLOC,
+ '%s/editlbox.cpp' % GIZMOLOC,
+ #'%s/multicell.cpp' % GIZMOLOC,
+ '%s/splittree.cpp' % GIZMOLOC,
+ '%s/ledctrl.cpp' % GIZMOLOC,
+ ] + swig_sources,
+
+ include_dirs = gizmos_includes,
+ define_macros = defines,
+
+ library_dirs = libdirs,
+ libraries = libs,
+
+ extra_compile_args = cflags,
+ extra_link_args = lflags,
+ )
+
+ wxpExtensions.append(ext)
+
+
+
+#----------------------------------------------------------------------
+# Define the DLLWIDGET extension module
+#----------------------------------------------------------------------
+
+if not GL_ONLY and BUILD_DLLWIDGET:
+ msg('Preparing DLLWIDGET...')
+ location = 'contrib/dllwidget'
+ swig_files = ['dllwidget_.i']
+
+ swig_sources = run_swig(swig_files, location, '', PKGDIR,
+ USE_SWIG, swig_force, swig_args)
+
+ # copy a contrib project specific py module to the main package dir
+ copy_file(opj(location, 'dllwidget.py'), PKGDIR, update=1, verbose=0)
+
+ ext = Extension('dllwidget_c', [
+ '%s/dllwidget.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)
+
+
+