See below for details.
We make the current Guile sources available via anonymous CVS.
Please keep in mind that these sources are strictly experimental; they
will usually not be well-tested, and may not even compile. They may
contain interfaces which will change. They will usually not be of
sufficient quality for use by people not comfortable hacking the
innards of Guile.
However, we are providing them anyway for several reasons. We'd
like to encourage people to get involved in developing Guile. People
who need to follow the latest happenings are able to use the bleeding
edge. Patches submitted relative to the sources in CVS are be easier
for us to evaluate and incorperate into guile, since the patch's
original sources will be closer to what the other deveopers are
working with. And it allows us to start testing features earlier.
Since the CVS tree is arranged for the convenience of the
developers, it requires GCC and GNU Make, which together support
automatic dependency management.
Visit Guile CVS
to check out a CVS working directory.
The following modules are available for checkout:
- guile/guile-comp
- Compilation of Scheme to shared object libraries, based on Hobbit
- guile/guile-core
- The scheme interpreter itself, including documentation
- guile/guile-lightning
- JIT compilation of Scheme, based on
GNU Lightening
- guile/guile-rgx-ctax
- The CTAX interpreter
- guile/guile-scripts
- Bourne shell maintenance scripts
- guile/guile-scsh
- An incomplete port of SCSH 0.4.4 to Guile
- guile-statprof
- A statistical profiler (yes, this cvs module name is inconsistent
with the others, that is not a bug)
- guile/guile-vm
- Byte-compiler and associated virtual machine for Scheme
- guile/guile-www
- Scheme modules for easy WWW programming (URL, CGI, HTTP)
- hack
- Convenient combination ("ampersand module" in CVS terminology)
of the guile/guile-core,
guile/guile-scripts and
guile/workbook modules,
organized primarily for maintainers (this arrangement supports
easy branching of the core and exposes methodology and work-in-progress
for public review)
There are also some additional modules that are mostly of
historical interest.
Once you have a working directory, you can bring it up to date easily
and efficiently:
- Go to the top directory of the source tree. That is, your current
directory should be the one containing `configure.in', `README',
and so on.
- Do the update:
$ cvs update
This will incorporate any changes the developers have made to Guile
since your last update into your source tree.
Change Notification
If you would like to receive mail when people commit changes to the
Guile CVS repository, you can subscribe to guile-cvs@gnu.org
by visiting
guile-cvs list page.
Questions
(I don't know if they'll be "frequently asked" or not yet!)
- Where is ./configure ?
- Files generated by the "auto" tools, including ./configure, are no
longer checked into CVS. To generate ./configure, run the autogen.sh
script in the top-level directory. See the file guile-core/HACKING for
more info.
- It takes forever to do an update; what can I do to speed it up?
- CVS tries to be smart about what it sends; it will transmit and
install only those files that have changed, and will sometimes
transmit and apply patches instead, to save transmission time.
However, if that's still too slow, it is also possible to have
CVS compress transmitted data. Put the following line in your
~/.cvsrc file:
cvs -z 9
See the CVS documentation for more details.
- What happens if I've changed files in my working directory, and then
I do an update?
- If you have made local changes to your sources, the `cvs update'
command will not overwrite them; instead, CVS will try to merge
its changes with your changes, as if you had applied a patch.
Rejects are marked in the sources.
Last modified: Wed Apr 3 15:29:34 PST 2002