Only run build_py if we have pure Python modules, and build_ext if we
have extension modules.
diff --git a/Lib/distutils/command/build.py b/Lib/distutils/command/build.py
index 187dddc..b74e51c 100644
--- a/Lib/distutils/command/build.py
+++ b/Lib/distutils/command/build.py
@@ -40,10 +40,14 @@
         # For now, "build" means "build_py" then "build_ext".  (Eventually
         # it should also build documentation.)
 
-        # Invoke the 'build_py' command
-        self.run_peer ('build_py')
+        # Invoke the 'build_py' command to "build" pure Python modules
+        # (ie. copy 'em into the build tree)
+        if self.distribution.packages or self.distribution.py_modules:
+            self.run_peer ('build_py')
 
-        # And now 'build_ext'
-        self.run_peer ('build_ext')
+        # And now 'build_ext' -- compile extension modules and put them
+        # into the build tree
+        if self.distribution.ext_modules:
+            self.run_peer ('build_ext')
 
 # end class Build