diff options
author | Nathan Scott <nathans@redhat.com> | 2020-08-23 11:24:52 +1000 |
---|---|---|
committer | Nathan Scott <nathans@redhat.com> | 2020-08-23 11:24:52 +1000 |
commit | 9e57b5c3f48c15aa8fb0ced408ec745eb6ad8874 (patch) | |
tree | 5b9d9bb52640880e50722c7aba3066d518317d26 /scripts/MakeHeader.py | |
parent | b3aef4ea3a043c1988451bf237902fa77bccb0d5 (diff) |
Generate an appropriate shebang line for MakeHeader script3.0.0rc2
Use configure.ac to handle platform differences where some
build hosts have only a python3, or only python, binary.
Related to https://github.com/htop-dev/htop/pull/6
Diffstat (limited to 'scripts/MakeHeader.py')
-rwxr-xr-x | scripts/MakeHeader.py | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py deleted file mode 100755 index 3ef34b88..00000000 --- a/scripts/MakeHeader.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -import os, sys, string, io -try: - from StringIO import StringIO -except ImportError: - StringIO = io.StringIO - -ANY=1 -COPY=2 -SKIP=3 -SKIPONE=4 - -state = ANY -static = 0 - -file = io.open(sys.argv[1], "r", encoding="utf-8") -name = sys.argv[1][:-2] - -out = StringIO() - -selfheader = '#include "' + name + '.h"' - -out.write( "/* Do not edit this file. It was automatically generated. */\n" ) -out.write( "\n" ) - -out.write( "#ifndef HEADER_" + os.path.basename(name) + "\n") -out.write( "#define HEADER_" + os.path.basename(name) + "\n") -is_blank = False -for line in file.readlines(): - line = line[:-1] - if state == ANY: - if line == '/*{': - state = COPY - elif line == selfheader: - pass - elif line.find("#include") == 0: - pass - elif line.find("htop - ") == 0 and line[-2:] == ".c": - out.write(line[:-2] + ".h\n") - 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] + ";\n" ) - state = SKIP - elif equals != -1: - out.write("extern " + line[:equals] + ";\n" ) - elif line.startswith("typedef struct"): - state = SKIP - elif line[-1] == "{": - out.write("extern " + line[:-2].replace("inline ", "") + ";\n") - state = SKIP - elif line[-1] == ";": - out.write("extern " + line + "\n") - else: - out.write( line + "\n") - is_blank = False - elif line == "": - if not is_blank: - out.write( line + "\n") - is_blank = True - else: - out.write( line + "\n") - is_blank = False - elif state == COPY: - is_blank = False - if line == "}*/": - state = ANY - else: - out.write( line + "\n") - elif state == SKIP: - is_blank = False - if len(line) >= 1 and line[0] == "}": - if static == 1: - state = SKIPONE - else: - state = ANY - static = 0 - elif state == SKIPONE: - is_blank = False - state = ANY - -out.write( "\n" ) -out.write( "#endif\n" ) - -# only write a new .h file if something changed. -# This prevents a lot of recompilation during development -out.seek(0) -try: - with io.open(name + ".h", "r", encoding="utf-8") as orig: - origcontents = orig.readlines() -except: - origcontents = "" -if origcontents != out.readlines(): - with io.open(name + ".h", "w", encoding="utf-8") as new: - print("Writing "+name+".h") - new.write(out.getvalue()) -out.close() |