summaryrefslogtreecommitdiff
path: root/update_ev_wrap
diff options
context:
space:
mode:
authorroot <root>2007-12-20 07:12:57 +0000
committerroot <root>2007-12-20 07:12:57 +0000
commitebc0759db57ff79951aa13a23c97c5846a78a67d (patch)
tree76440f32807e4728407b7815d15a5e4f48511c8c /update_ev_wrap
parentd34230f8609e4134733d30beaebee698f49b8abe (diff)
*** empty log message ***
Diffstat (limited to 'update_ev_wrap')
-rwxr-xr-xupdate_ev_wrap19
1 files changed, 14 insertions, 5 deletions
diff --git a/update_ev_wrap b/update_ev_wrap
index 6e43069..adb083a 100755
--- a/update_ev_wrap
+++ b/update_ev_wrap
@@ -1,10 +1,19 @@
#!/bin/sh
(
- echo '#define VAR(name,decl) define name ((loop)->name)'
+ echo '#define VAR(name,decl) name'
echo '#define EV_GENWRAP 1'
cat ev_vars.h
-) | cc -E -o - - | sed -n -e 's/define/#define/p' | (
- echo "/* DO NOT EDIT, automatically generated by update_ev_wrap */"
- cat
-) > ev_wrap.h
+) | cc -E -o - - | perl -ne '
+ while (<>) {
+ push @syms, $1 if /(^\w+)/;
+ }
+ print "/* DO NOT EDIT, automatically generated by update_ev_wrap */\n",
+ "#ifndef EV_WRAP_H\n",
+ "#define EV_WRAP_H\n",
+ (map "#define $_ ((loop)->$_)\n", @syms),
+ "#else\n",
+ "#undef EV_WRAP_H\n",
+ (map "#undef $_\n", @syms),
+ "#endif\n";
+' >ev_wrap.h