#!/usr/bin/python
+from __future__ import print_function
+
import sys, re;
from structs import unions, structs, defines;
output = "";
fileid = re.sub("[-.]", "_", "__FOREIGN_%s__" % outfile.upper());
-# read input header files
for name in infiles:
f = open(name, "r");
+
+ # Sanity check the licence of the input file(s)
+ line = f.readline()
+ if line != "/* SPDX-License-Identifier: MIT */\n":
+ print("Error: %s %s Missing or unexpected SPDX tag '%s'" %
+ (sys.argv[0], name, line.strip()), file=sys.stderr)
+ exit(1)
+
input += f.read();
f.close();
+# replace path in "infiles" by path in '/usr/include' to avoid exposing the
+# build directory path in the generated headers.
+headers_name_list = ""
+public_headers_location = 'xen/include/public/'
+for name in infiles:
+ i = name.rindex(public_headers_location)
+ i += len(public_headers_location)
+ headers_name_list += " xen/%s" % (name[i:])
+
# add header
-output += """
+output += """/* SPDX-License-Identifier: MIT */
/*
* public xen defines and struct for %s
- * generated by %s -- DO NOT EDIT
+ * generated from%s by %s -- DO NOT EDIT
*/
#ifndef %s
#define %s 1
-""" % (arch, sys.argv[0], fileid, fileid)
+""" % (arch, headers_name_list, sys.argv[0], fileid, fileid)
if arch in header:
output += header[arch];