#5583 Added optional Extensions in Distutils
diff --git a/Lib/distutils/extension.py b/Lib/distutils/extension.py
index 440d128..c80c61e 100644
--- a/Lib/distutils/extension.py
+++ b/Lib/distutils/extension.py
@@ -83,6 +83,9 @@
       language : string
         extension language (i.e. "c", "c++", "objc"). Will be detected
         from the source extensions if not provided.
+      optional : boolean
+        specifies that a build failure in the extension should not abort the
+        build process, but simply not install the failing extension.
     """
 
     # When adding arguments to this constructor, be sure to update
@@ -101,6 +104,7 @@
                   swig_opts = None,
                   depends=None,
                   language=None,
+                  optional=None,
                   **kw                      # To catch unknown keywords
                  ):
         assert type(name) is StringType, "'name' must be a string"
@@ -123,6 +127,7 @@
         self.swig_opts = swig_opts or []
         self.depends = depends or []
         self.language = language
+        self.optional = optional
 
         # If there are unknown keyword options, warn about them
         if len(kw):