In 'finalize_options()': if 'self.libs' is a string, make it a singleton list.
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index 050a5c6..dfe64a1 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -117,6 +117,9 @@
         if exec_py_include != py_include:
             self.include_dirs.insert (0, exec_py_include)
 
+        if type (self.libs) is StringType:
+            self.libs = [self.libs]
+
         # XXX how the heck are 'self.define' and 'self.undef' supposed to
         # be set?