anv: Stop allowing non-zero clear colors in input attachments
[mesa.git] / bin / git_sha1_gen.py
old mode 100755 (executable)
new mode 100644 (file)
index c75dba1..c6fbf49
@@ -1,11 +1,10 @@
-#!/usr/bin/env python
-
 """
 Generate the contents of the git_sha1.h file.
 The output of this script goes to stdout.
 """
 
 
+import argparse
 import os
 import os.path
 import subprocess
@@ -27,10 +26,25 @@ def get_git_sha1():
         git_sha1 = ''
     return git_sha1
 
+def write_if_different(contents):
+    """
+    Avoid touching the output file if it doesn't need modifications
+    Useful to avoid triggering rebuilds when nothing has changed.
+    """
+    if os.path.isfile(args.output):
+        with open(args.output, 'r') as file:
+            if file.read() == contents:
+                return
+    with open(args.output, 'w') as file:
+        file.write(contents)
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--output', help='File to write the #define in',
+                    required=True)
+args = parser.parse_args()
 
 git_sha1 = os.environ.get('MESA_GIT_SHA1_OVERRIDE', get_git_sha1())[:10]
 if git_sha1:
-    git_sha1_h_in_path = os.path.join(os.path.dirname(sys.argv[0]),
-            '..', 'src', 'git_sha1.h.in')
-    with open(git_sha1_h_in_path , 'r') as git_sha1_h_in:
-        sys.stdout.write(git_sha1_h_in.read().replace('@VCS_TAG@', git_sha1))
+    write_if_different('#define MESA_GIT_SHA1 " (git-' + git_sha1 + ')"')
+else:
+    write_if_different('#define MESA_GIT_SHA1 ""')