-*-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= to set the base directory for the g-wrap module sub-tree (default is /usr/local/share/guile). Authors ====== Christopher Lee (chrislee@ri.cmu.edu) Rob Browning