diff options
author | mischief <mischief@offblast.org> | 2014-06-24 18:02:25 -0700 |
---|---|---|
committer | mischief <mischief@offblast.org> | 2014-06-24 18:02:25 -0700 |
commit | 5ba95fdb07ddc2c32111a1b2f57f17aa27fcbbf5 (patch) | |
tree | c1ec54cb9ecff85b0b820a26d26a10a32a118d0c /sys/src/9/xen/cppx | |
parent | fa03455b5057675b18d1c87aef2d1071b2088de0 (diff) |
import xen 32 bit paravirtual kernel from /n/sources/xen.
Diffstat (limited to 'sys/src/9/xen/cppx')
-rwxr-xr-x | sys/src/9/xen/cppx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sys/src/9/xen/cppx b/sys/src/9/xen/cppx new file mode 100755 index 000000000..77370d014 --- /dev/null +++ b/sys/src/9/xen/cppx @@ -0,0 +1,41 @@ +#!/bin/rc +awk ' +function qq(s) { + gsub("\"", "£", s) + return "\"@" s "\"" +} + +/^#include/ { next +} +/^#define.*\\$/ { + save[n++] = $0 + print qq($0 "\\") + next +} +(n > 0) && /\\$/ { + save[n++] = $0 + print qq($0 "\\") + next +} +(n > 0) { + save[n++] = $0 + print qq($0) + for (i = 0; i < n; i++) print save[i] + n = 0 + next +} +/^# *((define)|(error)).*[^\\]*$/ { + print qq($0) + print + next +} +/^# *undef.*[^\\]*$/ { + print + print qq($0) + next +} + { print +} +' $* | +cpp -P | +sed -e 's/£/"/g' -e 's/^"@(.*\\)\\"$/\1/' -e 's/^"@(.*)"$/\1/' |