X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/678c8c54d0ce967d8f1db3e575aed61879279975..0d2fcb8fc814d741c4d4a4ea2d63a02383b8526f:/update_ev_wrap diff --git a/update_ev_wrap b/update_ev_wrap index 32ab625..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 -e 's/define/#define/' | grep '#define' | ( - echo "/* DO NOT EDIT, automaticlaly 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