Make Pyrex optional.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Tue, 23 Mar 2010 06:33:11 +0000 (23:33 -0700)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Tue, 23 Mar 2010 06:33:11 +0000 (23:33 -0700)
setup.py

index ba5af94a28ad41969e12e4c2328c43900bfaf8b0..54a86d11ba48d387b7e594c811f75a9dd93215fd 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,15 @@ import shutil
 import sys
 
 from distutils.core import setup, Command, Extension
-from Pyrex.Distutils import build_ext
+
+try:
+    from Pyrex.Distutils import build_ext
+except ImportError:
+    from distutils.command.build_ext import build_ext
+    ext_modules = []
+else:
+    ext_modules = [Extension(
+        'bulletml._collision', [os.path.join('bulletml', '_collision.pyx')])]
 
 from distutils.command.clean import clean as distutils_clean
 from distutils.command.sdist import sdist as distutils_sdist
@@ -116,8 +124,7 @@ 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'])],
+          ext_modules=ext_modules,
           long_description="""\
 BulletML is the Bullet Markup Language. BulletML can describe the
 barrage of bullets in shooting games. (For example Progear, Psyvariar,