Patch #414775: Add --skip-build option to bdist command.
diff --git a/Lib/distutils/command/bdist.py b/Lib/distutils/command/bdist.py
index 2b1951f..fc18bd0 100644
--- a/Lib/distutils/command/bdist.py
+++ b/Lib/distutils/command/bdist.py
@@ -40,8 +40,12 @@
                     ('dist-dir=', 'd',
                      "directory to put final built distributions in "
                      "[default: dist]"),
+                    ('skip-build', None,
+                     "skip rebuilding everything (for testing/debugging)"),
                    ]
 
+    boolean_options = ['skip-build']
+
     help_options = [
         ('help-formats', None,
          "lists available distribution formats", show_formats),
@@ -76,6 +80,7 @@
         self.plat_name = None
         self.formats = None
         self.dist_dir = None
+        self.skip_build = 0
 
     # initialize_options()
 
diff --git a/Lib/distutils/command/bdist_dumb.py b/Lib/distutils/command/bdist_dumb.py
index 8dfc327..dbe862b 100644
--- a/Lib/distutils/command/bdist_dumb.py
+++ b/Lib/distutils/command/bdist_dumb.py
@@ -30,9 +30,11 @@
                      "creating the distribution archive"),
                     ('dist-dir=', 'd',
                      "directory to put final built distributions in"),
+                    ('skip-build', None,
+                     "skip rebuilding everything (for testing/debugging)"),
                    ]
 
-    boolean_options = ['keep-temp']
+    boolean_options = ['keep-temp', 'skip-build']
 
     default_format = { 'posix': 'gztar',
                        'nt': 'zip', }
@@ -44,6 +46,7 @@
         self.format = None
         self.keep_temp = 0
         self.dist_dir = None
+        self.skip_build = 0
 
     # initialize_options()
 
@@ -71,10 +74,12 @@
 
     def run (self):
 
-        self.run_command('build')
+        if not self.skip_build:
+            self.run_command('build')
 
         install = self.reinitialize_command('install', reinit_subcommands=1)
         install.root = self.bdist_dir
+        install.skip_build = self.skip_build
 
         self.announce("installing to %s" % self.bdist_dir)
         self.run_command('install')
diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py
index 7c34cff..4a16eec 100644
--- a/Lib/distutils/command/bdist_wininst.py
+++ b/Lib/distutils/command/bdist_wininst.py
@@ -36,6 +36,8 @@
                      "bitmap to use for the installer instead of python-powered logo"),
                     ('title=', 't',
                      "title to display on the installer background instead of default"),
+                    ('skip-build', None,
+                     "skip rebuilding everything (for testing/debugging)"),
                    ]
 
     boolean_options = ['keep-temp']
@@ -49,6 +51,7 @@
         self.dist_dir = None
         self.bitmap = None
         self.title = None
+        self.skip_build = 0
 
     # initialize_options()
 
@@ -79,10 +82,12 @@
                   ("distribution contains extensions and/or C libraries; "
                    "must be compiled on a Windows 32 platform")
 
-        self.run_command('build')
+        if not self.skip_build:
+            self.run_command('build')
 
         install = self.reinitialize_command('install')
         install.root = self.bdist_dir
+        install.skip_build = self.skip_build
 
         install_lib = self.reinitialize_command('install_lib')
         # we do not want to include pyc or pyo files
diff --git a/Misc/ACKS b/Misc/ACKS
index 861e226..1af9aee 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -231,6 +231,7 @@
 Tamito Kajiyama
 Lou Kates
 Randall Kern
+Robert Kern
 Magnus Kessler
 Lawrence Kesteloot
 Vivek Khera
diff --git a/Misc/NEWS b/Misc/NEWS
index 355c926..b6099ee 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -30,6 +30,8 @@
   gettext.find an optional all argument. Translations will now fallback
   on a per-message basis.
 
+- distutils bdist commands now offer a --skip-build option.
+
 Tools/Demos
 
 Build