Added section about Guile license.
[bpt/guile.git] / README
1 This is not a Guile release; it is a source tree retrieved via
2 anonymous CVS or as a nightly snapshot at some random time after the
3 Guile 1.3.4 release.
4
5 This is version 1.3.5 of Guile, Project GNU's extension language
6 library. Guile is an interpreter for Scheme, packaged as a library
7 that you can link into your applications to give them their own
8 scripting language. Guile will eventually support other languages as
9 well, giving users of Guile-based applications a choice of languages.
10
11 Please send bug reports to bug-guile@gnu.org.
12
13 Guile Documentation ==================================================
14
15 The doc directory contains a few articles on specific topics and some
16 examples, including data-rep.texi which describes the internal
17 representation of data types in Guile. The example-smob directory
18 contains example source code for the "Defining New Types (Smobs)" chapter.
19
20 The incomplete Guile reference manual is available at
21 ftp://ftp.red-bean.com/pub/guile/snapshots/guile-doc-snap.tar.gz
22
23 There is a plan to distribute the reference manual with guile-core,
24 with much of the text generated from the docstrings in the sources.
25 The docstrings are likely to be more up-to-date than the reference
26 manual at present (see libguile/guile-procedures.txt which is
27 generated by the build process).
28
29 Guile License ==================================================
30
31 The license of Guile consists of the GNU GPL plus a special statement
32 giving blanket permission to link with non-free software. This is the
33 license statement as found in any individual file that it applies to:
34
35 This program is free software; you can redistribute it and/or modify
36 it under the terms of the GNU General Public License as published by
37 the Free Software Foundation; either version 2, or (at your option)
38 any later version.
39
40 This program is distributed in the hope that it will be useful,
41 but WITHOUT ANY WARRANTY; without even the implied warranty of
42 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
43 GNU General Public License for more details.
44
45 You should have received a copy of the GNU General Public License
46 along with this software; see the file COPYING. If not, write to
47 the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
48 Boston, MA 02111-1307 USA
49
50 As a special exception, the Free Software Foundation gives permission
51 for additional uses of the text contained in its release of GUILE.
52
53 The exception is that, if you link the GUILE library with other files
54 to produce an executable, this does not by itself cause the
55 resulting executable to be covered by the GNU General Public License.
56 Your use of that executable is in no way restricted on account of
57 linking the GUILE library code into it.
58
59 This exception does not however invalidate any other reasons why
60 the executable file might be covered by the GNU General Public License.
61
62 This exception applies only to the code released by the
63 Free Software Foundation under the name GUILE. If you copy
64 code from other Free Software Foundation releases into a copy of
65 GUILE, as the General Public License permits, the exception does
66 not apply to the code that you add in this way. To avoid misleading
67 anyone as to the status of such modified files, you must delete
68 this exception notice from them.
69
70 If you write modifications of your own for GUILE, it is your choice
71 whether to permit this exception to apply to your modifications.
72 If you do not wish that, delete this exception notice.
73
74 About This Distribution ==============================================
75
76 Interesting files include:
77
78 - INSTALL, which contains instructions on building and installing Guile.
79 - NEWS, which describes user-visible changes since the last release of Guile.
80 - COPYING, which describes the terms under which you may redistribute
81 Guile, and explains that there is no warranty.
82
83 Files are usually installed according to the prefix specified to
84 configure, /usr/local by default. Building and installing gives you:
85
86 Executables, in ${prefix}/bin:
87
88 guile --- a stand-alone interpreter for Guile. With no arguments, this
89 is a simple interactive Scheme interpreter. It can also be used
90 as an interpreter for script files; see the NEWS file for details.
91 guile-config --- a Guile script which provides the information necessary
92 to link your programs against the Guile library.
93 guile-snarf --- a script to parse declarations in your C code for
94 Scheme-visible C functions, Scheme objects to be used by C code,
95 etc.
96
97 Libraries, in ${prefix}/lib. Depending on the platform and options
98 given to configure, you may get shared libraries in addition
99 to or instead of these static libraries:
100
101 libguile.a --- an object library containing the Guile interpreter,
102 You can use Guile in your own programs by linking against this.
103 libqthreads.a --- an object library containing the QuickThreads
104 primitives. If you enabled thread support when you configured
105 Guile, you will need to link your code against this too.
106 libguilereadline.a --- an object library containing glue code for the
107 GNU readline library. See NEWS for instructions on how to enable
108 readline for your personal use.
109
110 Header files, in ${prefix}/include:
111
112 libguile.h, guile/gh.h, libguile/*.h --- for libguile.
113 guile-readline/readline.h --- for guile-readline.
114
115 Support files, in ${prefix}/share/guile/<version>:
116
117 ice-9/* --- run-time support for Guile: the module system,
118 read-eval-print loop, some R4RS code and other infrastructure.
119
120 Automake macros, in ${prefix}/share/aclocal:
121
122 guile.m4
123
124 Documentation in Info format, in ${prefix}/info:
125
126 data-rep.info --- an essay on how to write C code that works with
127 Guile Scheme values.
128
129 The Guile source tree is laid out as follows:
130
131 libguile:
132 The Guile Scheme interpreter --- both the object library
133 for you to link with your programs, and the executable you can run.
134 ice-9: Guile's module system, initialization code, and other infrastructure.
135 guile-config:
136 Source for the guile-config script.
137 qt: A cooperative threads package from the University of Washington,
138 which Guile can use. If you configure Guile with the
139 --with-threads flag, you will need to link against the -lqt
140 library, found in this directory. Qt is under a separate
141 copyright; see `qt/README' for more details.
142 guile-readline:
143 The glue code for using GNU readline with Guile. This
144 will be build when configure can find a recent enough readline
145 library on your system.
146 doc: Documentation (see above).
147
148 Anonymous CVS Access and FTP snapshots ===============================
149
150 We make the developers' working Guile sources available via anonymous
151 CVS, and by nightly snapshots, accessible via FTP. See the files
152 `ANON-CVS' and `SNAPSHOTS' for details.
153
154 If you would like to receive mail when people commit changes to the
155 Guile CVS repository, you can subscribe to guile-cvs@sourceware.cygnus.com
156 by sending a message to guile-cvs-subscribe@sourceware.cygnus.com. Even
157 better, you can get daily digests of these commit messages by sending
158 a message to guile-cvs-digest-subscribe@sourceware.cygnus.com.
159
160 If you want to subscribe an e-mail address other than the one that
161 appears in your From: header, say foo@bar.com, send a mail note to
162 guile-cvs-subscribe-foo=bar.com@sourceware.cygnus.com.
163
164
165 Obtaining Guile ======================================================
166
167 The latest official Guile release is available via anonymous FTP from
168
169 ftp://ftp.gnu.org/pub/gnu/guile/guile-1.3.4.tar.gz
170
171 The mailing list `guile@sourceware.cygnus.com' carries discussions,
172 questions, and often answers, about Guile. To subscribe, send mail to
173 guile-subscribe@sourceware.cygnus.com. Of course, please send bug
174 reports (and fixes!) to bug-guile@gnu.org. Note that one address is
175 @sourceware.cygnus.com, and the other is at @gnu.org.