diff --git a/Lib/distutils/command/build.py b/Lib/distutils/command/build.py index 2da589ab29b..bca0ece808f 100644 --- a/Lib/distutils/command/build.py +++ b/Lib/distutils/command/build.py @@ -28,6 +28,8 @@ class build (Command): "temporary build directory"), ('debug', 'g', "compile extensions and libraries with debugging information"), + ('force', 'f', + "forcibly build everything (ignore file timestamps"), ] def initialize_options (self): @@ -39,9 +41,12 @@ class build (Command): self.build_lib = None self.build_temp = None self.debug = None + self.force = 0 def finalize_options (self): + print "build.finalize: force=%s" % self.force + # Need this to name platform-specific directories, but sys.platform # is not enough -- it only names the OS and version, not the # hardware architecture! diff --git a/Lib/distutils/command/build_clib.py b/Lib/distutils/command/build_clib.py index f48e6476fbc..2311187484f 100644 --- a/Lib/distutils/command/build_clib.py +++ b/Lib/distutils/command/build_clib.py @@ -37,6 +37,8 @@ class build_clib (Command): "directory to put temporary build by-products"), ('debug', 'g', "compile with debugging information"), + ('force', 'f', + "forcibly build everything (ignore file timestamps"), ] def initialize_options (self): @@ -51,6 +53,7 @@ class build_clib (Command): self.define = None self.undef = None self.debug = None + self.force = 0 # initialize_options() @@ -65,7 +68,8 @@ class build_clib (Command): self.set_undefined_options ('build', ('build_temp', 'build_clib'), ('build_temp', 'build_temp'), - ('debug', 'debug')) + ('debug', 'debug'), + ('force', 'force')) self.libraries = self.distribution.libraries if self.libraries: diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 2cb1c610f03..ddb01d4ef20 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -66,6 +66,8 @@ class build_ext (Command): "extra explicit link objects to include in the link"), ('debug', 'g', "compile/link with debugging information"), + ('force', 'f', + "forcibly build everything (ignore file timestamps"), ] @@ -84,6 +86,7 @@ class build_ext (Command): self.rpath = None self.link_objects = None self.debug = None + self.force = None def finalize_options (self): @@ -92,7 +95,8 @@ class build_ext (Command): self.set_undefined_options ('build', ('build_lib', 'build_lib'), ('build_temp', 'build_temp'), - ('debug', 'debug')) + ('debug', 'debug'), + ('force', 'force')) if self.package is None: self.package = self.distribution.ext_package diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py index 3baddc62c79..d719cec8d92 100644 --- a/Lib/distutils/command/build_py.py +++ b/Lib/distutils/command/build_py.py @@ -20,6 +20,7 @@ class build_py (Command): user_options = [ ('build-lib=', 'd', "directory to \"build\" (copy) to"), + ('force', 'f', "forcibly build everything (ignore file timestamps"), ] @@ -28,10 +29,14 @@ class build_py (Command): self.modules = None self.package = None self.package_dir = None + self.force = None def finalize_options (self): + print "build_py.finalize: force=%s" % self.force self.set_undefined_options ('build', - ('build_lib', 'build_lib')) + ('build_lib', 'build_lib'), + ('force', 'force')) + print "build_py.finalize: force=%s" % self.force # Get the distribution options that are aliases for build_py # options -- list of packages and list of modules.