Commit | Line | Data |
---|---|---|
a88b0ab2 JB |
1 | Anonymous CVS access to Guile ======================================== |
2 | ||
3 | We make the current Guile sources available via anonymous CVS. Please | |
4 | keep in mind that these sources are strictly experimental; they will | |
5 | usually not be well-tested, and may not even compile on some systems. | |
6 | They may contain interfaces which will change. They will usually not | |
7 | be of sufficient quality for use by people not comfortable hacking the | |
8 | innards of Guile. Caveat! | |
9 | ||
10 | However, we're providing them anyway for several reasons. We'd like | |
11 | to encourage people to get involved in developing Guile. People | |
12 | willing to use the bleeding edge of development can get earlier access | |
13 | to new, experimental features. Patches submitted relative to recent | |
14 | sources will be easier for us to evaluate and install, since the | |
15 | patch's original sources will be closer to what we're working with. | |
16 | And it allows us to start testing features earlier. | |
17 | ||
5469b4a1 JB |
18 | Since the CVS tree is arranged for the convenience of the developers, |
19 | it requires GCC and GNU Make, which together support automatic | |
5d94b2fe | 20 | dependency management. You will also need to install autoconf, |
ee2bf8b8 | 21 | automake, and libtool; the recommended versions are listed in HACKING. |
5469b4a1 | 22 | |
a88b0ab2 JB |
23 | To check out a CVS working directory: |
24 | ||
25 | 1) Install CVS version 1.9 or later on your system. | |
ee2bf8b8 | 26 | |
a88b0ab2 | 27 | 2) Log into the CVS server: |
ee2bf8b8 MV |
28 | |
29 | $ cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs login | |
30 | ||
31 | At the prompt for `CVS password:', simply press the enter key. | |
324a8d98 JB |
32 | Once you have logged in, your password is saved in ~/.cvspass, and you |
33 | will not need to enter it again. | |
ee2bf8b8 | 34 | |
a88b0ab2 | 35 | 3) Check out a module: |
ee2bf8b8 MV |
36 | |
37 | $ cvs -z 9 -d :pserver:anoncvs@subversions.gnu.org:/cvs checkout guile-core | |
38 | ||
a88b0ab2 JB |
39 | This should create a new directory `guile-core' in your current |
40 | directory, and populate it with the current Guile sources. | |
ee2bf8b8 | 41 | |
5d94b2fe JB |
42 | 4) In the top directory of the source tree, run the command `./autogen.sh'. |
43 | This builds the configure script, Makefile.in, and other derived files | |
44 | used by the build system. | |
a88b0ab2 | 45 | |
487f379f | 46 | The modules available for checkout are: |
ee2bf8b8 | 47 | |
487f379f | 48 | guile-core --- The scheme interpreter itself. |
487f379f JB |
49 | guile-tcltk --- An interface between Guile and Tcl/Tk. |
50 | guile-scsh --- An incomplete port of SCSH 0.4.4 to Guile. | |
51 | guile-rgx-ctax --- This has been discontinued; use Andrew Archibald's | |
52 | distribution instead: | |
53 | ftp://ftp.red-bean.com/pub/guile/contrib/misc/guile-lang-allover-0.1.tar.gz | |
54 | ||
a88b0ab2 JB |
55 | Once you have a working directory, you can bring it up to date easily |
56 | and efficiently: | |
57 | ||
58 | 1) Go to the top directory of the source tree. That is, your current | |
59 | directory should be the one containing `configure.in', `README', | |
60 | and so on. | |
ee2bf8b8 | 61 | |
a88b0ab2 JB |
62 | 2) Do the update: |
63 | $ cvs update | |
64 | ||
65 | This will incorporate any changes the developers have made to Guile | |
66 | since your last update into your source tree. | |
67 | ||
a88b0ab2 | 68 | |
a588d62c JB |
69 | Change Notification ================================================== |
70 | ||
71 | If you would like to receive mail when people commit changes to the | |
ee2bf8b8 MV |
72 | Guile CVS repository, you can subscribe to guile-cvs@gnu.org by using |
73 | the Mailman mailing list interface at | |
a588d62c | 74 | |
ee2bf8b8 | 75 | <http://mail.gnu.org/mailman/listinfo/guile-cvs> |
a588d62c JB |
76 | |
77 | ||
a88b0ab2 JB |
78 | Questions ============================================================ |
79 | ||
80 | (I don't know if they'll be "frequently asked" or not yet!) | |
81 | ||
82 | - It takes forever to do an update; what can I do to speed it up? | |
83 | ||
84 | CVS tries to be smart about what it sends; it will transmit and | |
85 | install only those files that have changed, and will sometimes | |
86 | transmit and apply patches instead, to save transmission time. | |
87 | ||
88 | It is also possible to have CVS compress transmitted data, using zlib. | |
89 | Put the following line in your ~/.cvsrc file: | |
90 | ||
91 | cvs -z 9 | |
92 | ||
93 | See the CVS documentation for more details. | |
94 | ||
95 | ||
96 | - What happens if I've changed files in my working directory, and then | |
97 | I do an update? | |
98 | ||
99 | If you have made local changes to your sources, the `cvs update' | |
100 | command will not overwrite them; instead, CVS will try to merge its | |
101 | changes with your changes, as if you had applied a patch. Rejects are | |
102 | marked in the sources. |