Version 1.9.11
- Fix `double' return value handling on big-endian platforms.
- libffi is no longer distributed with g-wrap, as it is available
as a stand-alone package now (instead of being burried in the
GCC sources).
Version 1.9.10
- Fix WCT nullable behaviour for 'new' (i.e. non-compat) wrapsets;
there is now a SRFI-39 parameter 'gw-wcts-nullable?' controlling
the nullable behaviour; this parameter is #f by default, and set
to #t when generating compat wrapsets.
devel/g-wrap196 instead. Changes since 1.9.6:
Version 1.9.8
- New feature: function flags. At the moment there is a single flag
specifying whether to leave "Guile mode" when calling the wrapper
functions. See the Guile manual on "scm_without_guile" for more
information.
- Don't rely on libc to provide (v)asprintf, take the implementation
from gnulib.
- The minimal GLib bindings now build against GLib 2.x. However,
their use is deprecated in favour of the much more complete GLib
bindings in guile-gnome
(http://www.gnu.org/software/guile-gnome/).
Version 1.9.7
- The shared libraries now reside in $(pkglibdir)/modules
(e.g. /usr/lib/g-wrap/modules).
- Users are now allowed to chose in which module generic functions
should be defined.
- New feature: aggregated typespecs. See the node `Wrapping a C
Function' of the manual for details.
- Users can now specify a free and a mark function, as well as an
equality predicate for wrapped C types (WCTs) in `wrap-as-wct!'.
- Improved documentation with an API reference (yet to be finished).
- Several bugfixes.
Version 1.9.7
- The shared libraries now reside in $(pkglibdir)/modules
(e.g. /usr/lib/g-wrap/modules).
- Users are now allowed to chose in which module generic functions
should be defined.
- New feature: aggregated typespecs. See the node `Wrapping a C
Function' of the manual for details.
- Users can now specify a free and a mark function, as well as an
equality predicate for wrapped C types (WCTs) in `wrap-as-wct!'.
- Improved documentation with an API reference (yet to be finished).
- Several bugfixes.
Changes since 1.9.4:
- Bugfixes
+ The minimal GLib wrappers are now installed as (g-wrap gw-glib),
as expected by GnuCash.
+ A problem with generic specializer class lookup has been fixed.
+ A problem with generics specialization and default arguments has
been fixed.
+ A problem with default arguments, when combined with
invisible arguments (such as output arguments) has been fixed.
- 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.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
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.
instead of the one in the work directory. Also ensure that we install
guile library files into ${GUILE14_PREFIX}/share/guile instead of into
the same place under ${LOCALBASE}, since we are using guile14. Bump
PKGREVISION of devel/g-wrap to 1.