X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/c09e66b483b6b74b786f2d3dab809052eb630954..c12d1228a8089ed701ce994c8e2d9858d906a29d:/update_ev_wrap diff --git a/update_ev_wrap b/update_ev_wrap index 30ebb4f..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 -) | 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