diff options
author | comex | 2015-10-27 21:14:05 -0400 |
---|---|---|
committer | comex | 2015-10-27 21:14:05 -0400 |
commit | b0a1b9863a7092b1d191d1523798ba78d5df3e4a (patch) | |
tree | d89974b2295bd9d35f7393599b5b938a0175e381 /script | |
parent | avoid overflowing Version into debian_revision (diff) | |
download | substitute-b0a1b9863a7092b1d191d1523798ba78d5df3e4a.tar.gz |
lol, mach awk fail
Diffstat (limited to '')
-rwxr-xr-x | script/gen-manual-mach.sh | 20 | ||||
-rw-r--r-- | script/mconfig.py | 5 |
2 files changed, 17 insertions, 8 deletions
diff --git a/script/gen-manual-mach.sh b/script/gen-manual-mach.sh index b740af9..e973bce 100755 --- a/script/gen-manual-mach.sh +++ b/script/gen-manual-mach.sh @@ -1,13 +1,19 @@ #!/bin/bash out=generated/manual-mach.inc.h -(mig -user /dev/stdout -server /dev/null -header /dev/null /usr/include/mach/{thread_act,mach_vm}.defs | - unifdef -U__MigTypeCheck | - grep -v '#define USING_VOUCHERS' | +(mig -user /dev/stdout -server /dev/null -header /dev/stdout /usr/include/mach/{thread_act,mach_vm}.defs | + egrep -v '^(#ifndef|#define|#endif).*_user_' | + egrep -v '#include "stdout"' | + unifdef -D__MigTypeCheck | sed -E 's/(mach_msg|memcpy)\(/manual_\1(/g; s/^\)/, mach_port_t reply_port)/; - s/mig_external kern_return_t /static kern_return_t manual_/; s/_kernelrpc_//; + s/^([a-z].*)?kern_return_t[[:blank:]]+([a-z])/\1kern_return_t manual_\2/; + s/mig_external/static/; + s/__defined/_manual__defined/g; s/mig_get_reply_port\(\)/reply_port/g' | - awk 'BEGIN { on = 1 } - /^\/\* Routine / { on = /thread_[gs]et_state|vm_remap/; } - on { print }' > $out) || rm -f $out + awk 'BEGIN { on = 1; } + /^\/\* Routine / || + (/__MIG_check__Reply__/ && /^#[ie]/) { on = /thread_[gs]et_state|vm_remap/; } + on { print; } + /#endif.*__AfterMigUserHeader/ { on = 1; } + ' > $out) || rm -f $out diff --git a/script/mconfig.py b/script/mconfig.py index d025545..5b7aa74 100644 --- a/script/mconfig.py +++ b/script/mconfig.py @@ -548,8 +548,11 @@ class CLITool(object): def __repr__(self): return 'CLITool(name=%r, defaults=%r, env=%r)' % (self.name, self.defaults, self.env) - def optional(self): + def optional_nocheck(self): self.argv_opt.need() + + def optional(self): + self.optional_nocheck() def f(): try: self.argv() |