Index: setuptools/command/bdist_egg.py
===================================================================
--- setuptools/command/bdist_egg.py	(revision 59934)
+++ setuptools/command/bdist_egg.py	(working copy)
@@ -383,6 +383,11 @@
         if os.path.exists(os.path.join(egg_dir,'EGG-INFO',fn)):
             return flag
 
+    if not marshaled_bytecode():
+        # we can only scan byte code created by marshal
+        log.warn("Unable to analyze archive; setting zip_safe to False")
+        return False
+
     safe = True
     for base, dirs, files in walk_egg(egg_dir):
         for name in files:
@@ -489,4 +494,12 @@
     else:
         os.path.walk(base_dir, visit, None)
     return zip_filename
+
+def marshaled_bytecode():
+    """Determine if Python's bytecode is created with the marshal
+    module on this platform.
+
+    Returns True for CPython, False for Jython and IronPython.
+    """
+    return sys.platform[:4] != 'java' and sys.platform != 'cli'
 #
