build systems: move git_sha1_gen.sh to bin/
[mesa.git] / src / SConscript
index d861af8e4d719248b8f89dbb57f5656a6b2d7438..37b3f8572e25a28dee7fbb6c64eef9131998327b 100644 (file)
@@ -22,27 +22,15 @@ def write_git_sha1_h_file(filename):
     to retrieve the git hashid and write the header file.  An empty file
     will be created if anything goes wrong."""
 
-    args = [ 'git', 'rev-parse', '--short=10', 'HEAD' ]
-    try:
-        (commit, foo) = subprocess.Popen(args, stdout=subprocess.PIPE).communicate()
-    except:
-        print "Warning: exception in write_git_sha1_h_file()"
-        # git log command didn't work
-        if not os.path.exists(filename):
-            dirname = os.path.dirname(filename)
-            if dirname and not os.path.exists(dirname):
-                os.makedirs(dirname)
-            # create an empty file if none already exists
-            f = open(filename, "w")
-            f.close()
-        return
-
-    # note that commit[:-1] removes the trailing newline character
-    commit = '#define MESA_GIT_SHA1 "git-%s"\n' % commit[:-1]
     tempfile = "git_sha1.h.tmp"
-    f = open(tempfile, "w")
-    f.write(commit)
-    f.close()
+    with open(tempfile, "w") as f:
+        args = [ 'sh', Dir('#').abspath + '/bin/git_sha1_gen.sh' ]
+        try:
+            subprocess.Popen(args, stdout=f).wait()
+        except:
+            print "Warning: exception in write_git_sha1_h_file()"
+            return
+
     if not os.path.exists(filename) or not filecmp.cmp(tempfile, filename):
         # The filename does not exist or it's different from the new file,
         # so replace old file with new.