G-Wrap -- A tool for exporting C libraries into Scheme interpreters
===================================================================

G-Wrap is a tool (and guile library) for generating function wrappers
for inter-language calls. It currently only supports generating Guile
wrappers for C functions. Other languages may be supported in the
future, possibly on both sides.

Installing
==========

Prerequisites
-------------

* Guile >= 1.6, http://www.gnu.org/software/guile/

* Guile-Lib >= 0.1.2, http://home.gna.org/guile-lib

Instructions
------------

For detailed, general instructions, see the file INSTALL.

* Building from a tarball

Run ./configure and then "make" and "make install".
Note:
+ Use option --prefix={where} to tell ./configure where
  to install g-wrap.

* Building from Arch working copy

Run ./autogen.sh. You can pass configure arguments to autogen.sh, or
--noconfigure to disable the configure run, e.g. for out-of-tree
builds (which are recommended). Then run "make" and "make install".

Note that during the build of the included libffi, there is might be a
warning about runtest not beeing found. This can be safely ignored.

Notes about this branch
=======================

This is G-Wrap-TNG (G-Wrap - The Next Generation), a rewrite of
G-Wrap. It's goals are:

* Use GOOPS, for enhanced flexibility and (hopefully) clearer design.

* Be target-language agnostic; i.e. clean separation of the core and
  e.g. the Guile-specific code. New languages (perhaps even
  non-Schemes) should be easy to add.

* Offer the current (1.3.4+) wrapping API as a compatibility layer.

Status
------

Currently, the features from 1.3.4 are present and superceded. It
should be considered "ready for testing". An 1.3.4 compatibility layer
is in place, as far as needed by GnuCash, which is apparently the only
user of that API.

Authors
======

Maintainer:
 Andreas Rottmann  <a.rottmann@gmx.at>

Co-Maintainer:
 Rob Browning <rlb@defaultvalue.org>


Originally written by:
  Christopher Lee <chrislee@ri.cmu.edu>
  http://www.cs.cmu.edu/~chrislee
