summaryrefslogtreecommitdiffstats
path: root/dtrace.in
diff options
context:
space:
mode:
authorStan Cox <scox@redhat.com>2009-08-20 12:51:48 -0400
committerStan Cox <scox@redhat.com>2009-08-20 12:51:48 -0400
commitdd66ed3fa714209032df7841b3c2b11f92703ac7 (patch)
treeecd8b15b1efc9ab00a186ff446a46138b46cb186 /dtrace.in
parent30868aad20865f5a949c22ad0a20d1ebe2fd669a (diff)
downloadsystemtap-steved-dd66ed3fa714209032df7841b3c2b11f92703ac7.tar.gz
systemtap-steved-dd66ed3fa714209032df7841b3c2b11f92703ac7.tar.xz
systemtap-steved-dd66ed3fa714209032df7841b3c2b11f92703ac7.zip
* dtrace.in: Support -C, preprocess with cpp, which upstream postgres
is now using.
Diffstat (limited to 'dtrace.in')
-rwxr-xr-xdtrace.in14
1 files changed, 14 insertions, 0 deletions
diff --git a/dtrace.in b/dtrace.in
index 990d62fe..aea1ef74 100755
--- a/dtrace.in
+++ b/dtrace.in
@@ -137,6 +137,7 @@ i = 1
build_header = False
build_source = False
add_typedefs = False
+use_cpp = False
h_ext = '.h'
filename = ""
while (i < len (sys.argv)):
@@ -146,6 +147,8 @@ while (i < len (sys.argv)):
elif (sys.argv[i] == "-s"):
i += 1
s_filename = sys.argv[i]
+ elif (sys.argv[i] == "-C"):
+ use_cpp = True
elif (sys.argv[i] == "-h"):
build_header = True
elif (sys.argv[i] == "-G"):
@@ -159,6 +162,14 @@ if (build_header == False and build_source == False):
usage()
sys.exit(1)
+if (s_filename != "" and use_cpp):
+ (d,fn) = mkstemp(suffix=".d")
+ retcode = call(["cpp", s_filename, fn])
+ if (retcode != 0):
+ print "\"cpp s_filename\" failed"
+ usage()
+ sys.exit(1)
+ s_filename = fn
if (filename == ""):
if (s_filename != ""):
(filename,ext) = os.path.splitext(s_filename)
@@ -181,3 +192,6 @@ elif (build_source):
f.close()
call(["gcc", "-fPIC", "-I.", "-I@prefix@/include", "-g", "-c", fn, "-o", filename + ".o"], shell=False)
os.remove(fn)
+if (use_cpp):
+ os.remove(s_filename)
+