2.8.11:
2006-09-14 Johannes Schmid <
[email protected]>
* tools/m4/class_shared.m4: Change _IMPLEMENTS_INTERFACE to
_IMPLEMENTS_INTERFACE_CC so we can have more control over it,
by generating the _IMPLEMENTS_INTERFACE_CC from the WrapParser.pm.
* tools/m4/method.m4:
* tools/m4/signal.m4:
* tools/m4/vfunc.m4: Added optional parameters that result in
#ifdefs around methods, signals, vfuncs, etc.
* tools/pm/Output.pm: Addef ifdef() and endif().
output_wrap_vfunc_h(), output_wrap_vfunc_cc(),
output_wrap_default_signal_handler_h(),
output_wrap_default_signal_handler_cc(),
output_wrap_meth(),
output_wrap_create(),
output_wrap_sig_decl(): Support optional ifdefs around
declarations and implementations, by calling ifdef() and endif(),
or by passing the extra argument to the m4 macros.
* tools/pm/WrapParser.pm: parse_and_build_output():
Parse _IMPLEMENTS_INTERFACE, and call the new on_implements_interface()
method, which uses the new output_implements_interface() method,
so it can have an optional ifdef parameter.
on_wrap_method(), on_wrap_create(), on_wrap_vfunc(), output_wrap_signal(),
output_wrap_vfunc(): Handle the optional ifdef (with a parameter) option
for the _WRAP*() macros.
This adds support for disabling certain features by using the new
"ifdef" argument for methods, vfuncs, signals and interfaces.
2.8.10:
2006-04-25 Murray Cumming <
[email protected]>
* configure.in:
* glib/glibmmconfig.h.in:
* scripts/reduced.m4: Added a --enable-api-default-signal-handlers option. This defines
GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED, which is used to #ifdef default signal handlers.
This saves on library code size (less code and API symbols) and application code size and
loading time (less virtual methods, which must be imported and resolved at load time) and
per-object memory size (smaller object sizes because of less virtual methods.)
* tools/m4/class_interface.m4:
* tools/m4/class_shared.m4: Put default signal handler code in #ifdefs.