# -*- mode: python -*- # -*- coding: iso-8859-1 -*- # -- Prepare expat for cDomlette (inspired by PyXML) ------------------- import sys # We cannot coexist with a staticly linked expat (symbol clashes). # Exit if Python was compilied with a built-in expat. if 'pyexpat' in sys.builtin_module_names: raise SystemExit(""" Error: your Python installation has expat built-in statically, which will cause conflicts with the expat 4Suite provides. Please re-build Python so that pyexpat.so is created as a dynamic module, only. This is the default if you build from source on most platforms. """) # To build expat 1.95.8, we need to find out the byteorder if getattr(sys, 'byteorder', 'little') == "little": _byteorder = "1234" else: _byteorder = "4321" del sys # -- package definition ------------------------------------------------ name = "Xml" description = 'XML processing libraries' long_description = "XML tools and libraries for Python: Domlette, XPath, XSLT, XPointer, XLink, XUpdate" validate_templates = [] manifest_templates = ['include Ft/Xml/src/expat/COPYING', 'include Ft/Xml/src/gencharset.py', ] packages = ['Ft.Xml', 'Ft.Xml.Lib', 'Ft.Xml.FtMiniDom', 'Ft.Xml.XPath', 'Ft.Xml.XPointer', 'Ft.Xml.Xslt', 'Ft.Xml.Xslt.Exslt', 'Ft.Xml.Xslt.Debugger', 'Ft.Xml.XLink', 'Ft.Xml.ThirdParty', 'Ft.Xml.ThirdParty.Xvif', ] tests = ['Xml', 'Xml.Core', 'Xml.Borrowed', 'Xml.XPath', 'Xml.XPath.Core', 'Xml.XPath.Borrowed', 'Xml.XPointer', 'Xml.Xslt', 'Xml.Xslt.Core', 'Xml.Xslt.Core.etc', 'Xml.Xslt.Exslt', 'Xml.Xslt.Borrowed', 'Xml.Xslt.Borrowed.etc', 'Xml.XLink', ] data_files = [ #Install the profile tests ('Profile.Xml.XUpdate',['profile/Xml/XUpdate/*.*']), #Install the default catalog ('',['Ft/Xml/*.cat', 'Ft/Xml/*.dtd']), ] ext_modules = [Extension('Ft.Xml.Lib.routines', include_dirs=['Ft/Xml/src','Ft/Lib/src'], sources=['Ft/Xml/src/routines.c'], ), Extension('Ft.Xml.Lib.cStreamWriter', sources=['Ft/Xml/src/StreamWriter.c'], ), Extension('Ft.Xml.XPath.XPathParserc', sources=['Ft/Xml/XPath/XPathParser.c'], ), Extension('Ft.Xml.XPath._conversions', include_dirs=['Ft/Xml/src', 'Ft/Lib/src'], sources=['Ft/Xml/XPath/_conversions.c'], ), Extension('Ft.Xml.XPath._comparisons', include_dirs=['Ft/Xml/src', 'Ft/Lib/src'], sources=['Ft/Xml/XPath/_comparisons.c'], ), Extension('Ft.Xml.Lib.XmlString', sources=['Ft/Xml/src/xmlstring.c'], ), Extension('Ft.Xml.cDomlettec', define_macros=[('BYTEORDER', _byteorder), ('HAVE_EXPAT_CONFIG_H', None), ('Domlette_BUILDING_MODULE', None), ], include_dirs=['Ft/Xml/src', 'Ft/Xml/src/expat/lib', ], sources=['Ft/Xml/src/expat/lib/xmlparse.c', 'Ft/Xml/src/expat/lib/xmlrole.c', 'Ft/Xml/src/expat/lib/xmltok.c', 'Ft/Xml/src/domlette/domlette.c', 'Ft/Xml/src/domlette/exceptions.c', 'Ft/Xml/src/domlette/reader.c', 'Ft/Xml/src/domlette/nss.c', # NodeType implementations 'Ft/Xml/src/domlette/node.c', 'Ft/Xml/src/domlette/attr.c', 'Ft/Xml/src/domlette/element.c', 'Ft/Xml/src/domlette/processinginstruction.c', 'Ft/Xml/src/domlette/characterdata.c', 'Ft/Xml/src/domlette/comment.c', 'Ft/Xml/src/domlette/text.c', 'Ft/Xml/src/domlette/document.c', 'Ft/Xml/src/domlette/documentfragment.c', 'Ft/Xml/src/domlette/domimplementation.c', 'Ft/Xml/src/domlette/xpathnamespace.c', # Python refcount testing 'Ft/Xml/src/domlette/refcounts.c', # DOMString routines 'Ft/Xml/src/domlette/util.c', # StateTable implementation 'Ft/Xml/src/domlette/state_machine.c', # XML_Char <-> PyUnicode support 'Ft/Xml/src/domlette/xmlchar.c', # StateTable Expat handler 'Ft/Xml/src/domlette/expat_module.c', # Domlette Document builder 'Ft/Xml/src/domlette/parse_event_handler.c', # Domlette event (SAX-like) parser 'Ft/Xml/src/domlette/xmlparser.c', ], ), Extension('Ft.Xml.XPointer.XPtrExprParserc', sources=['Ft/Xml/XPointer/XPtrExprParser.c'], ), Extension('Ft.Xml.XPointer.XPointerParserc', sources=['Ft/Xml/XPointer/XPointerParser.c'], ), Extension('Ft.Xml.Xslt.XPatternParserc', sources=['Ft/Xml/Xslt/XPatternParser.c'], ), ] scripts = [Script('4xslt', 'Ft.Xml.Xslt._4xslt.XsltCommandLineApp'), Script('4xpath', 'Ft.Xml.XPath._4xpath.XPathCommandLineApp'), Script('4xupdate', 'Ft.Xml.Lib._4xupdate.XUpdateCommandLineApp'), Script('4xml', 'Ft.Xml._4xml.XmlCommandLineApp'), ] bgen_files = ['Ft/Xml/XPath/XPath.bgen', 'Ft/Xml/XPointer/XPointer.bgen', 'Ft/Xml/XPointer/XPtrExpr.bgen', 'Ft/Xml/Xslt/XPattern.bgen', ] dependencies = ['Base']