merge
[gem5.git] / src / python / m5 / main.py
index 54368b91ef13f50863606215dc60137658203326..96f017cb0993ebd3e833cff71582c87d5047c294 100644 (file)
 #
 # Authors: Nathan Binkert
 
-import code, optparse, os, socket, sys
-from datetime import datetime
+import code
+import datetime
+import optparse
+import os
+import socket
+import sys
+
 from attrdict import attrdict
+import defines
 import traceflags
 
 __all__ = [ 'options', 'arguments', 'main' ]
@@ -116,6 +122,8 @@ def bool_option(name, default, help):
 # Help options
 add_option('-A', "--authors", action="store_true", default=False,
     help="Show author information")
+add_option('-B', "--build-info", action="store_true", default=False,
+    help="Show build information")
 add_option('-C', "--copyright", action="store_true", default=False,
     help="Show full copyright information")
 add_option('-R', "--readme", action="store_true", default=False,
@@ -188,12 +196,29 @@ def parse_args():
 
 def main():
     import defines
+    import event
     import info
     import internal
 
     parse_args()
 
     done = False
+
+    if options.build_info:
+        done = True
+        print 'Build information:'
+        print
+        print 'compiled %s' % internal.core.cvar.compileDate;
+        print 'started %s' % datetime.datetime.now().ctime()
+        print 'executing on %s' % socket.gethostname()
+        print 'build options:'
+        keys = defines.m5_build_env.keys()
+        keys.sort()
+        for key in keys:
+            val = defines.m5_build_env[key]
+            print '    %s = %s' % (key, val)
+        print
+
     if options.copyright:
         done = True
         print info.LICENSE
@@ -241,7 +266,7 @@ def main():
         print brief_copyright
         print
         print "M5 compiled %s" % internal.core.cvar.compileDate;
-        print "M5 started %s" % datetime.now().ctime()
+        print "M5 started %s" % datetime.datetime.now().ctime()
         print "M5 executing on %s" % socket.gethostname()
         print "command line:",
         for argv in sys.argv:
@@ -295,7 +320,7 @@ def main():
     if options.trace_start:
         def enable_trace():
             internal.trace.cvar.enabled = True
-        internal.event.create(enable_trace, int(options.trace_start))
+        event.create(enable_trace, int(options.trace_start))
     else:
         internal.trace.cvar.enabled = True