Optional Pyrex extension for the collision module. More than doubles its speed.
[python-bulletml.git] / setup.py
index 842c7e4..ba5af94 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,9 @@ import os
 import shutil
 import sys
 
-from distutils.core import setup, Command
+from distutils.core import setup, Command, Extension
+from Pyrex.Distutils import build_ext
+
 from distutils.command.clean import clean as distutils_clean
 from distutils.command.sdist import sdist as distutils_sdist
 
@@ -103,8 +105,8 @@ class test_cmd(Command):
             raise SystemExit("Test failures are listed above.")
 
 if __name__ == "__main__":
-    setup(cmdclass=dict(
-            clean=clean, test=test_cmd, coverage=coverage_cmd, sdist=sdist),
+    setup(cmdclass=dict(clean=clean, test=test_cmd, coverage=coverage_cmd,
+                        sdist=sdist, build_ext=build_ext),
           name="python-bulletml", version="1",
           url="http://code.google.com/p/python-bulletml/",
           description="parse and run BulletML scripts",
@@ -114,6 +116,8 @@ if __name__ == "__main__":
           packages=["bulletml"],
           data_files=glob.glob("examples/*/*.xml") + ["examples/template.xml"],
           scripts=["bulletml-runner", "bulletml-to-bulletyaml"],
+          ext_modules=[
+              Extension('bulletml._collision', ['bulletml/_collision.pyx'])],
           long_description="""\
 BulletML is the Bullet Markup Language. BulletML can describe the
 barrage of bullets in shooting games. (For example Progear, Psyvariar,