Patch# 1258 by Christian Heimes: kill basestring.
I like this because it makes the code shorter! :-)
diff --git a/Lib/distutils/extension.py b/Lib/distutils/extension.py
index 7f5954e..b271816 100644
--- a/Lib/distutils/extension.py
+++ b/Lib/distutils/extension.py
@@ -102,9 +102,9 @@
                   language=None,
                   **kw                      # To catch unknown keywords
                  ):
-        assert isinstance(name, basestring), "'name' must be a string"
+        assert isinstance(name, str), "'name' must be a string"
         assert (isinstance(sources, list) and
-                all(isinstance(v, basestring) for v in sources)), \
+                all(isinstance(v, str) for v in sources)), \
                 "'sources' must be a list of strings"
 
         self.name = name