main: expose the build information as a simple command line parameter
authorNathan Binkert <nate@binkert.org>
Thu, 2 Aug 2007 18:59:02 +0000 (11:59 -0700)
committerNathan Binkert <nate@binkert.org>
Thu, 2 Aug 2007 18:59:02 +0000 (11:59 -0700)
--HG--
extra : convert_revision : 69189c4a2e9fa9290fe51a2a43a2b08e712c395d

src/python/m5/main.py

index 1695ed75f57a91d3f549d7ac43652f54a0739fc7..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,
@@ -195,6 +203,22 @@ def main():
     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
@@ -242,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: