Added 'boolean_options' list to support config file parsing.
diff --git a/Lib/distutils/command/bdist_dumb.py b/Lib/distutils/command/bdist_dumb.py
index 1fdbf42..520098d 100644
--- a/Lib/distutils/command/bdist_dumb.py
+++ b/Lib/distutils/command/bdist_dumb.py
@@ -32,6 +32,8 @@
                      "directory to put final built distributions in"),
                    ]
 
+    boolean_options = ['keep-temp']
+
     default_format = { 'posix': 'gztar',
                        'nt': 'zip', }
 
diff --git a/Lib/distutils/command/bdist_rpm.py b/Lib/distutils/command/bdist_rpm.py
index 2afc714..d585e8c 100644
--- a/Lib/distutils/command/bdist_rpm.py
+++ b/Lib/distutils/command/bdist_rpm.py
@@ -111,6 +111,8 @@
          "RPM 2 compatibility mode"),
        ]
 
+    boolean_options = ['keep-temp', 'rpm2-mode']
+
     negative_opt = {'no-keep-temp': 'keep-temp',
                     'no-rpm-opt-flags': 'use-rpm-opt-flags',
                     'rpm2-mode': 'rpm3-mode'}
diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py
index b4c6d9b..16dd802 100644
--- a/Lib/distutils/command/bdist_wininst.py
+++ b/Lib/distutils/command/bdist_wininst.py
@@ -33,6 +33,8 @@
                      "directory to put final built distributions in"),
                    ]
 
+    boolean_options = ['keep-temp']
+
     def initialize_options (self):
         self.bdist_dir = None
         self.keep_temp = 0
diff --git a/Lib/distutils/command/build.py b/Lib/distutils/command/build.py
index 15476ca..f30f4ee 100644
--- a/Lib/distutils/command/build.py
+++ b/Lib/distutils/command/build.py
@@ -42,6 +42,8 @@
          "forcibly build everything (ignore file timestamps)"),
         ]
 
+    boolean_options = ['debug', 'force']
+
     help_options = [
         ('help-compiler', None,
          "list available compilers", show_compilers),
diff --git a/Lib/distutils/command/build_clib.py b/Lib/distutils/command/build_clib.py
index 450dae1..775b7ad 100644
--- a/Lib/distutils/command/build_clib.py
+++ b/Lib/distutils/command/build_clib.py
@@ -48,6 +48,8 @@
          "specify the compiler type"),
         ]
 
+    boolean_options = ['debug', 'force']
+
     help_options = [
         ('help-compiler', None,
          "list available compilers", show_compilers),
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index d578b84..7fdfd14 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -82,6 +82,8 @@
          "make SWIG create C++ files (default is C)"),
         ]
 
+    boolean_options = ['inplace', 'debug', 'force', 'swig-cpp']
+
     help_options = [
         ('help-compiler', None,
          "list available compilers", show_compilers),
diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py
index 5fcd18e..ea92c2b 100644
--- a/Lib/distutils/command/build_py.py
+++ b/Lib/distutils/command/build_py.py
@@ -23,6 +23,8 @@
         ('force', 'f', "forcibly build everything (ignore file timestamps)"),
         ]
 
+    boolean_options = ['force']
+
 
     def initialize_options (self):
         self.build_lib = None
diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py
index 17fae8f..eacf798 100644
--- a/Lib/distutils/command/build_scripts.py
+++ b/Lib/distutils/command/build_scripts.py
@@ -22,6 +22,8 @@
         ('force', 'f', "forcibly build everything (ignore file timestamps"),
         ]
 
+    boolean_options = ['force']
+
 
     def initialize_options (self):
         self.build_dir = None
diff --git a/Lib/distutils/command/clean.py b/Lib/distutils/command/clean.py
index 2f3597f..4f04f08 100644
--- a/Lib/distutils/command/clean.py
+++ b/Lib/distutils/command/clean.py
@@ -28,6 +28,8 @@
          "remove all build output, not just temporary by-products")
     ]
 
+    boolean_options = ['all']
+
     def initialize_options(self):
         self.build_base = None
         self.build_lib = None
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index 573e074..4ad652d 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -106,6 +106,8 @@
          "filename in which to record list of installed files"),
         ]
 
+    boolean_options = ['force', 'skip-build']
+
 
     def initialize_options (self):
 
diff --git a/Lib/distutils/command/install_data.py b/Lib/distutils/command/install_data.py
index af348f5..9ce1183 100644
--- a/Lib/distutils/command/install_data.py
+++ b/Lib/distutils/command/install_data.py
@@ -25,6 +25,8 @@
         ('force', 'f', "force installation (overwrite existing files)"),
         ]
 
+    boolean_options = ['force']
+
     def initialize_options (self):
         self.install_dir = None
         self.outfiles = []
diff --git a/Lib/distutils/command/install_headers.py b/Lib/distutils/command/install_headers.py
index 5c06d57..ec0cf44 100644
--- a/Lib/distutils/command/install_headers.py
+++ b/Lib/distutils/command/install_headers.py
@@ -21,6 +21,7 @@
                      "force installation (overwrite existing files)"),
                    ]
 
+    boolean_options = ['force']
 
     def initialize_options (self):
         self.install_dir = None
diff --git a/Lib/distutils/command/install_lib.py b/Lib/distutils/command/install_lib.py
index b104fa9..a603b4f 100644
--- a/Lib/distutils/command/install_lib.py
+++ b/Lib/distutils/command/install_lib.py
@@ -19,6 +19,8 @@
         ('skip-build', None, "skip the build steps"),
         ]
                
+    boolean_options = ['force', 'compile', 'optimize', 'skip-build']
+
 
     def initialize_options (self):
         # let the 'install' command dictate our installation directory
diff --git a/Lib/distutils/command/install_scripts.py b/Lib/distutils/command/install_scripts.py
index d506f90..b8938c4 100644
--- a/Lib/distutils/command/install_scripts.py
+++ b/Lib/distutils/command/install_scripts.py
@@ -22,6 +22,9 @@
         ('skip-build', None, "skip the build steps"),
     ]
 
+    boolean_options = ['force', 'skip-build']
+
+
     def initialize_options (self):
         self.install_dir = None
         self.force = 0
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index 9b9f606..ec443a3 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -67,6 +67,9 @@
          "[default: dist]"),
         ]
 
+    boolean_options = ['use-defaults', 'prune',
+                       'manifest-only', 'force-manifest',
+                       'keep-tree']
 
     help_options = [
         ('help-formats', None,