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 JB |
48 | guile-core --- The scheme interpreter itself. |
49 | guile-doc --- Guile documentation-in-progress. | |
50 | guile-tcltk --- An interface between Guile and Tcl/Tk. | |
51 | guile-scsh --- An incomplete port of SCSH 0.4.4 to Guile. | |
52 | guile-rgx-ctax --- This has been discontinued; use Andrew Archibald's | |
53 | distribution instead: | |
54 | ftp://ftp.red-bean.com/pub/guile/contrib/misc/guile-lang-allover-0.1.tar.gz | |
55 | ||
a88b0ab2 JB |
56 | Once you have a working directory, you can bring it up to date easily |
57 | and efficiently: | |
58 | ||
59 | 1) Go to the top directory of the source tree. That is, your current | |
60 | directory should be the one containing `configure.in', `README', | |
61 | and so on. | |
ee2bf8b8 | 62 | |
a88b0ab2 JB |
63 | 2) Do the update: |
64 | $ cvs update | |
65 | ||
66 | This will incorporate any changes the developers have made to Guile | |
67 | since your last update into your source tree. | |
68 | ||
a88b0ab2 | 69 | |
a588d62c JB |
70 | Change Notification ================================================== |
71 | ||
72 | If you would like to receive mail when people commit changes to the | |
ee2bf8b8 MV |
73 | Guile CVS repository, you can subscribe to guile-cvs@gnu.org by using |
74 | the Mailman mailing list interface at | |
a588d62c | 75 | |
ee2bf8b8 | 76 | <http://mail.gnu.org/mailman/listinfo/guile-cvs> |
a588d62c JB |
77 | |
78 | ||
a88b0ab2 JB |
79 | Questions ============================================================ |
80 | ||
81 | (I don't know if they'll be "frequently asked" or not yet!) | |
82 | ||
83 | - It takes forever to do an update; what can I do to speed it up? | |
84 | ||
85 | CVS tries to be smart about what it sends; it will transmit and | |
86 | install only those files that have changed, and will sometimes | |
87 | transmit and apply patches instead, to save transmission time. | |
88 | ||
89 | It is also possible to have CVS compress transmitted data, using zlib. | |
90 | Put the following line in your ~/.cvsrc file: | |
91 | ||
92 | cvs -z 9 | |
93 | ||
94 | See the CVS documentation for more details. | |
95 | ||
96 | ||
97 | - What happens if I've changed files in my working directory, and then | |
98 | I do an update? | |
99 | ||
100 | If you have made local changes to your sources, the `cvs update' | |
101 | command will not overwrite them; instead, CVS will try to merge its | |
102 | changes with your changes, as if you had applied a patch. Rejects are | |
103 | marked in the sources. |