#!/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
-) | tee 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