SCons: Stop embedding the mercurial revision into the binary.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 11 Mar 2011 19:27:36 +0000 (11:27 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 11 Mar 2011 19:27:36 +0000 (11:27 -0800)
This causes a lot of rebuilds that could have otherwise possibly been
avoided, and, more annoyingly, a lot of unnecessary rerunning of the
regressions. The benefits of having the revision in the output haven't
materialized, so this change removes it.

SConstruct
src/SConscript
src/python/m5/main.py

index 8f049e7492ee4c3b1d4d41c108573fb73ab6107c..3033348cd7e439a8dafa9e3a71a3273090e1e2de 100755 (executable)
@@ -227,16 +227,8 @@ If you are actually a M5 developer, please fix this and
 run the style hook. It is important.
 """
 
-hg_info = "Unknown"
 if hgdir.exists():
-    # 1) Grab repository revision if we know it.
-    cmd = "hg id -n -i -t -b"
-    try:
-        hg_info = readCommand(cmd, cwd=main.root.abspath).strip()
-    except OSError:
-        print mercurial_bin_not_found
-
-    # 2) Ensure that the style hook is in place.
+    # Ensure that the style hook is in place.
     try:
         ui = None
         if not GetOption('ignore_style'):
@@ -255,8 +247,6 @@ if hgdir.exists():
 else:
     print ".hg directory not found"
 
-main['HG_INFO'] = hg_info
-
 ###################################################
 #
 # Figure out which configurations to set up based on the path(s) of
index 0ee144747683547c53af18679a2d98b832865bc0..842044e4c668a469cc4aec8e6a25189a86408eae 100755 (executable)
@@ -410,7 +410,7 @@ depends = [ PySource.modules[dep].snode for dep in module_depends ]
 # Generate Python file containing a dict specifying the current
 # buildEnv flags.
 def makeDefinesPyFile(target, source, env):
-    build_env, hg_info = [ x.get_contents() for x in source ]
+    build_env = source[0].get_contents()
 
     code = code_formatter()
     code("""
@@ -418,7 +418,6 @@ import m5.internal
 import m5.util
 
 buildEnv = m5.util.SmartDict($build_env)
-hgRev = '$hg_info'
 
 compileDate = m5.internal.core.compileDate
 _globals = globals()
@@ -430,7 +429,7 @@ del _globals
 """)
     code.write(target[0].abspath)
 
-defines_info = [ Value(build_env), Value(env['HG_INFO']) ]
+defines_info = Value(build_env)
 # Generate a file with all of the compile options in it
 env.Command('python/m5/defines.py', defines_info,
             MakeAction(makeDefinesPyFile, Transform("DEFINES", 0)))
index 23a012166ad8b15bc7100cb9bcfc0cad96080822..dc8aab924c9ebf0a94c64f401d5b00c7d7447c96 100644 (file)
@@ -177,7 +177,6 @@ def main():
         print 'Build information:'
         print
         print 'compiled %s' % defines.compileDate;
-        print "revision %s" % defines.hgRev
         print 'build options:'
         keys = defines.buildEnv.keys()
         keys.sort()
@@ -245,7 +244,6 @@ def main():
         print
 
         print "M5 compiled %s" % defines.compileDate;
-        print "M5 revision %s" % defines.hgRev
 
         print "M5 started %s" % datetime.datetime.now().strftime("%b %e %Y %X")
         print "M5 executing on %s" % socket.gethostname()