setup.py
changeset 14295 bb7e3b3e6e11
parent 14243 861f28212398
child 14324 d3a49a52f117
--- a/setup.py	Wed May 11 08:07:51 2011 -0500
+++ b/setup.py	Mon May 09 15:16:56 2011 -0400
@@ -4,7 +4,7 @@
 # 'python setup.py install', or
 # 'python setup.py --help' for more options
 
-import sys
+import sys, platform
 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'):
     raise SystemExit("Mercurial requires Python 2.4 or later.")
 
@@ -36,11 +36,21 @@
     raise SystemExit(
         "Couldn't import standard zlib (incomplete Python install).")
 
+# The base IronPython distribution (as of 2.7.1) doesn't support bz2
+isironpython = False
 try:
-    import bz2
+    isironpython = platform.python_implementation().lower().find("ironpython") != -1
 except:
-    raise SystemExit(
-        "Couldn't import standard bz2 (incomplete Python install).")
+    pass
+
+if isironpython:
+    print "warning: IronPython detected (no bz2 support)"
+else:
+    try:
+        import bz2
+    except:
+        raise SystemExit(
+            "Couldn't import standard bz2 (incomplete Python install).")
 
 import os, subprocess, time
 import shutil