util: Auto generate the packet proto definitions

This patch simplifies the usage of the packet trace encoder/decoder by
attempting to automatically generating the packet proto definitions in
case they cannot be found.
This commit is contained in:
Andreas Hansson 2013-05-30 12:53:53 -04:00
parent 4c7a283e55
commit cc8911261e
2 changed files with 34 additions and 2 deletions

View file

@ -80,7 +80,23 @@
import struct
import sys
import packet_pb2
# 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.
try:
import packet_pb2
except:
print "Did not find packet proto definitions, attempting to generate"
from subprocess import call
error = call(['protoc', '--python_out=util', '--proto_path=src/proto',
'src/proto/packet.proto'])
if not error:
import packet_pb2
print "Generated packet proto definitions"
else:
print "Failed to import packet proto definitions"
exit(-1)
def DecodeVarint(in_file):
"""

View file

@ -85,7 +85,23 @@
import struct
import sys
import packet_pb2
# 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.
try:
import packet_pb2
except:
print "Did not find packet proto definitions, attempting to generate"
from subprocess import call
error = call(['protoc', '--python_out=util', '--proto_path=src/proto',
'src/proto/packet.proto'])
if not error:
import packet_pb2
print "Generated packet proto definitions"
else:
print "Failed to import packet proto definitions"
exit(-1)
def EncodeVarint(out_file, value):
"""