misc: When building packet_pb2.py, don't assume a particular CWD.
authorGabe Black <gabeblack@google.com>
Thu, 5 Oct 2017 02:43:51 +0000 (19:43 -0700)
committerGabe Black <gabeblack@google.com>
Thu, 5 Oct 2017 09:15:59 +0000 (09:15 +0000)
Allow the script to be run from anywhere, and compute the paths relative to
where the script is. The script is assumed to be in util.

Change-Id: I8500ef959f2ff8119540c956f2b27789c96de60e
Reviewed-on: https://gem5-review.googlesource.com/5004
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

util/decode_packet_trace.py

index c21a150faf3a4a3417edb979fbcc9fd0fd378162..dab43c3148788a5e881b5e4598e58e095cc14ba3 100755 (executable)
@@ -52,15 +52,18 @@ import protolib
 import sys
 
 # Import the packet proto definitions. If they are not found, attempt
-# to generate them automatically. This assumes that the script is
-# executed from the gem5 root.
+# to generate them automatically.
 try:
     import packet_pb2
 except:
     print "Did not find packet proto definitions, attempting to generate"
+    import os
+    util_dir = os.path.dirname(os.path.realpath(__file__))
+    proto_dir = os.path.join(os.path.dirname(util_dir), 'src', 'proto')
+    proto_file = os.path.join(proto_dir, 'packet.proto')
     from subprocess import call
-    error = call(['protoc', '--python_out=util', '--proto_path=src/proto',
-                  'src/proto/packet.proto'])
+    error = call(['protoc', '--python_out=' + util_dir,
+                  '--proto_path=' + proto_dir, proto_file])
     if not error:
         print "Generated packet proto definitions"