#!/usr/bin/env python
#
# Setup script for the cElementTree accelerator
# $Id: /work/modules/celementtree/setup.py 1128 2005-12-16T21:57:13.668520Z Fredrik $
#
# Usage: python setup.py install
#
from distutils.core import setup, Extension
from distutils import sysconfig
import sys, os
# --------------------------------------------------------------------
# identification
NAME = "cElementTree"
VERSION = "1.0.5-20051216"
DESCRIPTION = "A fast C implementation of the ElementTree API."
AUTHOR = "Fredrik Lundh", "fredrik@pythonware.com"
HOMEPAGE = "http://www.effbot.org/zone/celementtree.htm"
DOWNLOAD = "http://effbot.org/downloads#celementtree"
# --------------------------------------------------------------------
# expat library
sources = [
"expat/xmlparse.c",
"expat/xmlrole.c",
"expat/xmltok.c",
]
includes = [
"expat",
]
defines = [
("XML_STATIC", None),
]
if sys.platform == "win32":
# fake devstudio compilation to make sure winconfig.h is used
defines.append(("COMPILED_FROM_DSP", None))
else:
# determine suitable defines (based on Python's setup.py file)
config_h = sysconfig.get_config_h_filename()
config_h_vars = sysconfig.parse_config_h(open(config_h))
for feature_macro in ["HAVE_MEMMOVE", "HAVE_BCOPY"]:
if config_h_vars.has_key(feature_macro):
defines.append((feature_macro, "1"))
defines.append(("XML_NS", "1"))
defines.append(("XML_DTD", "1"))
if sys.byteorder == "little":
defines.append(("BYTEORDER", "1234"))
else:
defines.append(("BYTEORDER", "4321"))
defines.append(("XML_CONTEXT_BYTES", "1024"))
# --------------------------------------------------------------------
# distutils declarations
ext_modules = []
ext_modules.append(
Extension(
"cElementTree", ["cElementTree.c"] + sources,
define_macros=defines,
include_dirs=includes,
)
)
try:
# add classifiers and download_url syntax to distutils
from distutils.dist import DistributionMetadata
DistributionMetadata.classifiers = None
DistributionMetadata.download_url = None
except:
pass
setup(
author=AUTHOR[0],
author_email=AUTHOR[1],
classifiers=[
"Development Status :: 5 - Production/Stable",
"Operating System :: OS Independent",
"Topic :: Text Processing :: Markup :: XML",
],
description=DESCRIPTION,
download_url=DOWNLOAD,
ext_modules = ext_modules,
license="Python (MIT style)",
long_description=DESCRIPTION,
name=NAME,
platforms="Python 2.1 and later.",
url=HOMEPAGE,
version=VERSION,
)
syntax highlighted by Code2HTML, v. 0.9.1