Project

General

Profile

Bug #585 ยป 0001-Fix-make-lttng-gen-tp-support-python3.patch

Zifei Tong, 07/07/2013 05:33 AM

View differences:

tools/lttng-gen-tp
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from __future__ import print_function
import sys
import getopt
import re
......
self.template = template
def _detectCC(self):
cc = ""
if os.environ.has_key('CC'):
if 'CC' in os.environ:
cc = os.environ['CC']
try:
subprocess.call(cc,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
except OSError, msg:
print "Invalid CC environment variable"
except OSError as msg:
print("Invalid CC environment variable")
cc = ""
else:
......
subprocess.call("cc",
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
except OSError, msg:
except OSError as msg:
useCC = False
if useCC:
cc = "cc"
......
subprocess.call("gcc",
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
except OSError, msg:
except OSError as msg:
useGCC = False
if useGCC:
cc = "gcc"
......
cc = self._detectCC()
if cc == "":
raise RuntimeError("No C Compiler detected")
if os.environ.has_key('CFLAGS'):
if 'CFLAGS' in os.environ:
cflags = os.environ['CFLAGS']
else:
cflags = ""
......
self.domain = domain
else:
if self.domain != domain:
print "Warning: different domain provided (%s,%s)" % (self.domain, domain)
print("Warning: different domain provided (%s,%s)" % (self.domain, domain))
verbose=False
......
try:
try:
opts, args = getopt.gnu_getopt(argv[1:], "ho:av", ["help","verbose"])
except getopt.error, msg:
except getopt.error as msg:
raise Usage(msg)
except Usage, err:
print >>sys.stderr, err.msg
print >>sys.stderr, "for help use --help"
except Usage as err:
print(err.msg, file=sys.stderr)
print("for help use --help", file=sys.stderr)
return 2
outputNames = []
for o, a in opts:
if o in ("-h", "--help"):
print usage
print(usage)
return(0)
if o in ("-o",""):
outputNames.append(a)
......
if len(args) == 0:
raise Usage("No template file given")
except Usage, err:
print >>sys.stderr, err.msg
print >>sys.stderr, "for help use --help"
except Usage as err:
print(err.msg, file=sys.stderr)
print("for help use --help", file=sys.stderr)
return 2
doCFile = None
......
if len(outputNames) > 0:
if len(args) > 1:
print "Cannot process more than one input if you specify an output"
print("Cannot process more than one input if you specify an output")
return(3)
for outputName in outputNames:
......
doObj = True
objFilename = outputName
else:
print "output file type unsupported"
print("output file type unsupported")
return(4)
else:
doHeader = True
......
# process arguments
for arg in args:
if arg[-3:] != ".tp":
print arg + " does not end in .tp. Skipping."
print(arg + " does not end in .tp. Skipping.")
continue
tpl = None
try:
tpl = TemplateFile(arg)
except IOError as args:
print "Cannot read input file " + args.filename + " " + args.strerror
print("Cannot read input file " + args.filename + " " + args.strerror)
return -1
try:
if doHeader:
......
dotobj = ObjFile(curFilename, tpl)
dotobj.write()
except IOError as args:
print "Cannot write output file " + args.filename + " " + args.strerror
print("Cannot write output file " + args.filename + " " + args.strerror)
return -1
if __name__ == "__main__":
sys.exit(main())
    (1-1/1)