- Enhanced generics support: now all arguments of methods are
specialized, not only the first one.
- Bugfixes
+ Now ships with (g-wrap gw-wct) compatibilty module needed by
GnuCash at runtime.
+ Fixes for handling output arguments:
- Wrapped functions with void return value and output arguments
now return expected results
- Optional argument count is now correctly computed in the
presence of output arguments
+ The libffi alignment requirements are now honored. This fixes bus
errors on many non-x86 architectures.
+ On big-endian architectures libffi-wrapped functions that return
char now work correctly.
+ Some "uninitialized variable" warnings were fixed in generated code
which caused compiles with GCC 4.0 to fail (Debian Bug#290305).
Changes since 1.3.4:
Version 1.9.3
- Comes with a compatibility layer that allows GnuCash to be built
with it.
- Reverts the enhanced generics support, which was introduced in
1.9.2, since that currently breaks guile-gnome
- Bugfixes
+ g-wrap-2.0-guile.pc is now generated correctly, even if the
internal libffi is used.
+ Types used by constants are now considered when calculating the
set of referenced types in a wrapset. This bug led to missing code
and compile errors when a type defined in another wrapset was used
by only by a constant.
+ On platforms which lack alloca(), the version shipped with
G-Wrap should now build correctly.
Version 1.9.2
- Now comes with libffi included, for systems which lack an libffi
installation
- SRFI module checks now work correctly, even if you do an in-tree build
Version 1.9.1
- API change: destruct-value-cg is now named destroy-value-cg
- Bugfixes
+ A bug in the latent generic code has been fixed
+ The error message for WCP type errors has been fixed
Version 1.9.0
- Complete rewrite; too many changes to list, see the manual for the
new GOOPS-based API and the guile-gnome project for an extended
example.
- New features:
+ Output arguments
+ Default arguments
- G-Wrap should be target-language agnostic, like it was in its
early days.
PR pkg/20270 with minor nitpicks by myself.
Some of the changes since 1.2.1:
* configure.in: fix minor problem where we used the guile-gtk
config program even when it wasn't found.
* acconfig.h: deleted since deprecated -- replaced by three arg
AC_DEFINEs in configure.in.
* doc/.cvsignore: add texinfo.tex.
* configure.in (AM_INIT_AUTOMAKE): bump version for release.
* bunch of subversion cleanups.
* change license to LGPL.
* g-wrap/gw-glib-spec.scm: coerce to (gpointer) in gw:glist-of and
gw:gslist-of code where needed.
* g-wrap/enumeration.scm (gw:wrap-enumeration): make val->int and
int->val functions static so they don't cause conflicts.
* configure.in (GW_GUILE_GTK_CFLAGS): delete any occurences of -I
/usr/include or similar. Newer gcc's don't like that at all.
* bin/g-wrap-config.in (c-compile-args): don't output -I if it's
/usr/include. The new gcc doesn't like -I /usr/include at all.
* test/Makefile.am (gw-test-enumeration.scm gw-test-enumeration.h
gw-test-enumeration.c gw-test-enumeration.html
gw-test-enumeration-autogen.h): use LD_LIBRARY_PATH.
(gw-test-parent.scm gw-test-parent.h gw-test-parent.c
gw-test-parent.html gw-test-parent-autogen.h): use LD_LIBRARY_PATH.
* doc/g-wrap.texi: minor re-editing -- still needs much more.
* configure.in (GW_GUILE_GTK_CFLAGS): add and AC_SUBST.
(GW_GUILE_GTK_LIBFLAGS): add and AC_SUBST.
* g-wrap/simple-type.scm: new file -- support for simple types.
* g-wrap/runtime.scm: new file -- scm support for runtime wrapset
database.
* g-wrap/gw-wct-spec.scm: new file -- wrapped C pointer types.
* g-wrap/gw-standard-spec.scm: new file -- standard wrapped types.
* g-wrap/gw-gtk-spec.scm: new file -- wrappers for gtk.
* g-wrap/gw-glib-spec.scm: new file -- wrappers for glib.
* g-wrap/gtkobj.scm: support for wrapping new C ptr types as
gtkobjects.
* g-wrap/Makefile.am: major changes -- support gw-glib, gw-wct,
gw-gtk, etc.
* g-wrap/g-wrap-wct.h: support header for gw-wct. Part of
libgwrap-wct.
* g-wrap/g-wrap-wct.c: support code for gw-wct. Part of
libgwrap-wct.
* g-wrap/g-wrap-glib.h: support header for gw-glib. Part of
libgwrap-glib.
* g-wrap/g-wrap-glib.c: support code for gw-glib. Part of
libgwrap-glib.
* g-wrap/output-file.scm (flatten-display): make public.
* g-wrap/g-wrap-compatibility.h: start guile version compatibility
library.
* g-wrap/enumeration.scm: break out enumeration support.
* g-wrap/dummy-main.c: new file - for link testing.
* bin/g-wrap-config.in (c-link-args): add support for glib, wct,
etc.
* g-wrap.scm: major overhaul -- modules -> wrapsets, ccodegens ->
init/decl/lists, etc.
* configure.in: remove rscheme (and other dead bits). Add support
for glib and gnome-guile. Handle libruntime reorg/removal.
* acconfig.h: accomodate reorg/removal of libruntime.
* g-wrapped/gw-runtime-spec.scm: switch to use of SCM_FALSEP and
SCM_NFALSEP rather than direct SCM_BOOL_*
* libruntime-guile/g-wrap-runtime-guile.c: switch to use of
SCM_FALSEP and SCM_NFALSEP rather than direct SCM_BOOL_*
comparisons.
* g-wrap.scm: switch to use of SCM_FALSEP and SCM_NFALSEP rather
than direct SCM_BOOL_* comparisons.