* README (Configure options): New.
[libgcrypt.git] / README
1                     libgcrypt - The GNU crypto library
2                    ------------------------------------
3                             Version 1.1
4
5     Copyright 2000, 2002 Free Software Foundation, Inc.
6
7     This file is free software; as a special exception the author gives
8     unlimited permission to copy and/or distribute it, with or without
9     modifications, as long as this notice is preserved.
10
11     This file is distributed in the hope that it will be useful, but
12     WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
13     implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
15
16     THIS IS A DEVELOPMENT VERSION, THE FIRST STABLE VERSION WILL BE 1.2.0.
17
18
19     Overview
20     --------
21
22     Libgcrypt is a general purpose crypto library based on the code
23     used in GnuPG.  We can't start with a new version number because
24     libgcrypt was part of gnupg 1.1 and some applications already used
25     it and tested for the version number. We believe that the API can
26     stay as it is, except that new functions may be added in the
27     future.
28
29
30     CVS
31     ---
32
33     If you are using the CVS version, make sure that you have the
34     latest automake (I am using Debian Sid) and run ./autogen.sh to
35     create configure.
36
37
38     Mailing List
39     ------------
40
41     You may want to join the developer's mailing list
42     gcrypt-devel@gnupg.org by sending mail with a subject of
43     "subscribe" to gcrypt-devel-request@gnupg.org.  An archive of this
44     list is available at http://lists.gnupg.org .
45
46
47     License
48     -------
49     
50     Most of this library is distributed under the terms of the GNU
51     Lesser General Public License (LGPL); see the file COPYING.LIB for
52     the actual terms.  However some parts are distributed under the
53     GNU General Public License (GPL) so if you configure Libgcrypt to
54     include these modules, you have to comply with the conditions of
55     the GPL as found in the file COPYING.  The modules under the GPL
56     are:
57
58       rndunix - Entropy gatherer for Unices without a /dev/random
59       rndw32  - Entropy gatherer for MS Windows
60
61     The documentation is available under the terms of the GNU Free
62     Documentation License; see the file COPYING.DOC for the terms.
63
64     This library used to be available under the GPL - this was changed
65     with version 1.1.7 with the rationale that there are now many free
66     crypto libraries available and many of them come with capabilities
67     similar to Libcrypt.  We decided that to foster the use of
68     cryptography in Free Software an LGPLed library would make more
69     sense because it avoids problems due to license incompatibilities
70     between some Free Software licenses and the GPL. 
71
72     Please note that in many cases it is better for a library to be
73     licensed under the GPL, so that it provides an advantage for free
74     software projects.  The Lesser GPL is so named because it does
75     less to protect the freedom of the users of the code that it
76     covers.  See http://www.gnu.org/philosophy/why-not-lgpl.html for
77     more explanation.
78
79
80     Configure options 
81     -----------------
82     Here is a list of configure options which are sometime useful 
83     for installation.
84
85      --enable-m-guard
86                      Enable the integrated malloc checking code. Please
87                      note that this feature does not work on all CPUs
88                      (e.g. SunOS 5.7 on UltraSparc-2) and might give
89                      you a bus error.
90
91      --disable-asm
92                      Do not use assembler modules.  It is not possible 
93                      to use this on some CPU types.
94                     
95      --enable-ld-version-script
96                      Libgcrypt tries to build a library where internal
97                      symbols are not exported.  This requires support
98                      from ld and is currently enabled for a few OSes.
99                      If you know that your ld supports the so called
100                      ELF version scripts, you can use this option to
101                      force its use.  OTOH, if you get error message
102                      from the linker, you probably want to use this
103                      option to disable the use of version scripts.
104                      Note, that you should never ever use an
105                      undocumented symbol or one which is prefixed with
106                      an underscore.
107                     
108
109                    
110
111
112
113