Added '--force' option -- very clear what it means for building (ignore
timestamps), so every build_* command has 'self.force', which follows the
'build' command if not set by the user.
diff --git a/Lib/distutils/command/build.py b/Lib/distutils/command/build.py
index 2da589a..bca0ece 100644
--- a/Lib/distutils/command/build.py
+++ b/Lib/distutils/command/build.py
@@ -28,6 +28,8 @@
"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 @@
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 f48e647..2311187 100644
--- a/Lib/distutils/command/build_clib.py
+++ b/Lib/distutils/command/build_clib.py
@@ -37,6 +37,8 @@
"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 @@
self.define = None
self.undef = None
self.debug = None
+ self.force = 0
# initialize_options()
@@ -65,7 +68,8 @@
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 2cb1c61..ddb01d4 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -66,6 +66,8 @@
"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 @@
self.rpath = None
self.link_objects = None
self.debug = None
+ self.force = None
def finalize_options (self):
@@ -92,7 +95,8 @@
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 3baddc6..d719cec 100644
--- a/Lib/distutils/command/build_py.py
+++ b/Lib/distutils/command/build_py.py
@@ -20,6 +20,7 @@
user_options = [
('build-lib=', 'd', "directory to \"build\" (copy) to"),
+ ('force', 'f', "forcibly build everything (ignore file timestamps"),
]
@@ -28,10 +29,14 @@
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.