-*-text-*-

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

**IMPORTANT**
=============

As of version 1.1.1, g-wrap has undergone a major overhaul, and should
now be considered "ready for testing".  However, the docs have not
been fully updated yet.  They will be, but it may take a bit of time.

You can see the current docs, such as they are, in doc/g-wrap.texi and
the resulting info pages.  They have been partially updated, but still
need a *lot* of work.

Some of the new features are experimental, and nearly all of the
support for anything but guile is broken.  Apologies, but if there is
interest, and time, we can see about fixing this.

Some notes:

  We have switched to the Linux kernel version numbering scheme, this
  means that the first number indicates the major version, the second
  indicates the minor version, and odd numbers are considered unstable
  releases, and the third number is the revision number.

  The g-wrap script is gone.  At the moment, you have to manually
  invoke g-wrap from within guile (or a guile script).  G-wrap is now
  just another scheme module that's available via

    (use-modules (g-wrap))

  The NEWS file will be updated soon as well, but it'll take a little
  time.

  You should still be able to configure and install as before, and
  note that g-wrap-config can now tell you where g-wrap is located, in
  case you need to update guile's %load-path so guile can find it.

  The spec file format has changed, as has how you build the wrappers.
  If you need info immediately, feel free to contact me,
  rlb@defaultvalue.org, and I'll whip up an email summarizing how things
  work, otherwise, I'll have docs, and a giant working example in
  gnucash shortly.

  Another note -- right now gw:generate-module doesn't let you control
  whether or not a guile module is generated or the output's just a
  plain .c file.  It should.


This is a tool for specifying types, functions, and constants to
import into a Scheme interpreter, and for generating code (in C) to
interface these to the Guile and RScheme interpreters in particular.

Installing
==========
Run ./configure and then "make" and "make install".
Note:
+ Use option --prefix={where} to tell ./configure where
  (i.e. {where}/lib) to put libgwrap.a.
+ Use option --with-modules-dir=<dir> to set the base directory for
  the g-wrap module sub-tree (default is /usr/local/share/guile).

Authors
======

Current Maintainer:
 Rob Browning <rlb@defaultvalue.org>

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