diff --git a/python_modules/marshal.py b/python_modules/marshal.py index cc6cbdf..dc36e18 100644 --- a/python_modules/marshal.py +++ b/python_modules/marshal.py @@ -1,13 +1,22 @@ from . import ptypes from . import codegen +import re def write_includes(writer): writer.header.writeln("#include ") writer.header.writeln('#include "common/marshaller.h"') writer.header.newline() - writer.header.writeln("#ifndef _GENERATED_HEADERS_H") - writer.header.writeln("#define _GENERATED_HEADERS_H") + if writer.header.has_option("dest_file"): + src = writer.header.options["dest_file"] + else: + src = "generated_headers.h" + src = re.sub(r'[^a-z0-9]+', '_', src, flags=re.IGNORECASE) + src = src.upper() + if src.endswith("_H"): + src = "_H_"+src[:-2] + writer.header.writeln("#ifndef %s" % src) + writer.header.writeln("#define %s" % src) writer.writeln("#include ") writer.writeln("#include ") diff --git a/spice_codegen.py b/spice_codegen.py index c019ad8..410acbd 100755 --- a/spice_codegen.py +++ b/spice_codegen.py @@ -170,6 +170,7 @@ if proto == None: codegen.set_prefix(proto.name) writer = codegen.CodeWriter() writer.header = codegen.CodeWriter() +writer.header.set_option("dest_file", dest_file) writer.set_option("source", os.path.basename(proto_file)) license = """/*