X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/065b91948ce4cb4043a4c915576eaaff624a199c..86521c1ef67d371e724e4419f5100dc0da641194:/update_ev_wrap 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