summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2006-06-06 20:28:09 +0000
committerHisham Muhammad <hisham@gobolinux.org>2006-06-06 20:28:09 +0000
commit35afc13ebf8f82cfc7a3e6d6f7ba6d5062c5cdc1 (patch)
tree2986828cb33dd094aeef81a362fdb13341a4dd81 /scripts
parent5d07013e83bd7e5a2fad220105b93d09b356bb86 (diff)
New version of MakeHeader. Does not use 'private' comment annotation,
using the 'static' storage class instead. Automatically generates 'extern' declarations in headers for non-static data.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/MakeHeader.py37
1 files changed, 27 insertions, 10 deletions
diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py
index 2268fcfd..9d78c487 100755
--- a/scripts/MakeHeader.py
+++ b/scripts/MakeHeader.py
@@ -8,6 +8,7 @@ SKIP=3
SKIPONE=4
state = ANY
+static = 0
file = open(sys.argv[1])
name = sys.argv[1][:-2]
@@ -34,15 +35,27 @@ for line in file.readlines():
state = COPY
elif line == selfheader:
pass
- elif string.find(line, "typedef") == 0 or line == "/* private */":
- state = SKIP
- elif string.find(line, "/* private property */") == 0:
- state = SKIPONE
- elif len(line) > 1 and line[-1] == "{":
- out.write( line[:-2] + ";" )
- state = SKIP
- elif line == "":
- out.write( "" )
+ elif line.find("htop - ") == 0 and line[-2:] == ".c":
+ out.write(line[:-2] + ".h")
+ elif line.find("static ") != -1:
+ if line[-1] == "{":
+ state = SKIP
+ static = 1
+ else:
+ state = SKIPONE
+ elif len(line) > 1:
+ static = 0
+ equals = line.find(" = ")
+ if line[-3:] == "= {":
+ out.write( "extern " + line[:-4] + ";" )
+ state = SKIP
+ elif equals != -1:
+ out.write("extern " + line[:equals] + ";" )
+ elif line[-1] == "{":
+ out.write( line[:-2] + ";" )
+ state = SKIP
+ else:
+ out.write( line )
else:
out.write( line )
elif state == COPY:
@@ -52,7 +65,11 @@ for line in file.readlines():
out.write( line )
elif state == SKIP:
if len(line) >= 1 and line[0] == "}":
- state = ANY
+ if static == 1:
+ state = SKIPONE
+ else:
+ state = ANY
+ static = 0
elif state == SKIPONE:
state = ANY

© 2014-2024 Faster IT GmbH | imprint | privacy policy