> #define RB_METHOD(func) ((VALUE (*) ())func)
> #define RB_FINALIZER(func) ((void (*)(...))func)

You can use RUBY_DATA_FUNC and RUBY_METHOD_FUNC instead.  These are
defined in ruby.h.

BTW, why is RUBY_METHOD_FUNC a macro, while RUBY_DATA_FUNC is a typedef?
It appears that RUBY_DATA_FUNC was at one time a macro, since the #define
line is commented out in ruby.h.

Paul