Index: build/symlink.py |
diff --git a/build/symlink.py b/build/symlink.py |
index 5a261dcad93e1bddc77b42312f552a12dc8c131f..53bbfd371c362b578d91b97db7c6ba77fc8021f0 100755 |
--- a/build/symlink.py |
+++ b/build/symlink.py |
@@ -24,6 +24,7 @@ def Main(argv): |
parser = optparse.OptionParser() |
parser.add_option('-f', '--force', action='store_true') |
parser.add_option('--touch') |
+ parser.add_option('--update-target-mtimes', action='store_true') |
options, args = parser.parse_args(argv[1:]) |
if len(args) < 2: |
@@ -49,6 +50,14 @@ def Main(argv): |
os.symlink(s, t) |
else: |
raise |
+ if options.update_target_mtimes: |
+ # Work-around for ninja bug: |
+ # https://github.com/ninja-build/ninja/issues/1186 |
+ try: |
+ os.utime(s, None) |
+ except: |
+ # This can fail if the target doesn't exist. |
+ pass |
if options.touch: |