diff -r 03f98a25f119 setup.py
--- a/setup.py	Mon Dec 07 14:51:49 2009 +0100
+++ b/setup.py	Sun Jan 24 23:28:46 2010 +0200
@@ -6,7 +6,7 @@
     from setuptools import setup
 except ImportError:
     from distutils.core import setup
-from distutils.extension import Extension
+from distutils.core import Distribution, Extension
 
 dulwich_version_string = '0.4.1'
 
@@ -17,6 +17,19 @@
     include_dirs.append('dulwich')
 
 
+class dulwichDistribution(Distribution):
+    def is_pure(self):
+        if self.pure:
+            return True
+    def has_ext_modules(self):
+        if self.pure:
+            return False
+        
+dulwichDistribution.pure = 0
+dulwichDistribution.global_options.append(('pure', None, "use pure (slow) Python "
+"code instead of C extensions"))
+        
+
 setup(name='dulwich',
       description='Pure-Python Git Library',
       keywords='git',
@@ -39,4 +52,5 @@
           Extension('dulwich._pack', ['dulwich/_pack.c'],
                     include_dirs=include_dirs),
           ],
+      distclass=dulwichDistribution,
       )
