summaryrefslogtreecommitdiff
path: root/introspect.awk
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2010-11-23 21:12:11 +0100
committerLennart Poettering <lennart@poettering.net>2010-11-23 22:38:55 +0100
commit9a60da2834074d970ca063c210fe9d2f05c70532 (patch)
treeb86ce16ec73449b2df9bdfcc8459e5bc1b54b80f /introspect.awk
parent3686ced6d76d72a7364db4616c14a164f9c1f01e (diff)
build-sys: allow cross-compilation
When cross-compiling systemd, the introspection XML files fail to be generated because the systemd host binary is not executable. This patch works around this by putting the introspection XML data into separate ELF sections and extracting them from the binary when generating the XML files. The extracted XML data is passed through the strings utility in order to strip the trailing NUL character. A small AWK script is used to prepend the doctype and add the opening and closing node tags respectively. Finally, the C preprocessor is used to substitute the correct doctype information from the D-Bus header files.
Diffstat (limited to 'introspect.awk')
-rw-r--r--introspect.awk13
1 files changed, 13 insertions, 0 deletions
diff --git a/introspect.awk b/introspect.awk
new file mode 100644
index 000000000..593191384
--- /dev/null
+++ b/introspect.awk
@@ -0,0 +1,13 @@
+BEGIN {
+ print "<!DOCTYPE node PUBLIC DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"
+ print "DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER>"
+ print "<node>"
+}
+
+// {
+ print
+}
+
+END {
+ print "</node>"
+}