1 libgcrypt - The GNU crypto library
2 ------------------------------------
5 Copyright 2000, 2002, 2003 Free Software Foundation, Inc.
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.
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.
16 THIS IS A DEVELOPMENT VERSION, THE FIRST STABLE VERSION WILL BE 1.2.0.
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
29 Libgcrypt depends on the library `libgpg-error', which must be
30 installed correctly before Libgcrypt is to be built.
36 If you are using the CVS version, make sure that you have the
37 latest GNU build tools installed and run ./autogen.sh before
38 trying to build the library. Instead of running autogen.sh,
39 something like `autoreconf -i --symlink' can be used to prepare
40 the tree for building as well.
42 You also need to enable maintainer mode at configure time with the
43 `--enable-maintainer-mode' configure switch; without this switch,
44 the documentation can not be build, since the file `version.texi',
45 which is needed for building the documentation, will only be
46 generated, if maintainer mode is enabled.
52 You may want to join the developer's mailing list
53 gcrypt-devel@gnupg.org by sending mail with a subject of
54 "subscribe" to gcrypt-devel-request@gnupg.org. An archive of this
55 list is available at http://lists.gnupg.org .
61 Most of this library is distributed under the terms of the GNU
62 Lesser General Public License (LGPL); see the file COPYING.LIB for
63 the actual terms. However some parts are distributed under the
64 GNU General Public License (GPL) so if you configure Libgcrypt to
65 include these modules, you have to comply with the conditions of
66 the GPL as found in the file COPYING. The modules under the GPL
69 rndunix - Entropy gatherer for Unices without a /dev/random
70 rndw32 - Entropy gatherer for MS Windows
72 The documentation is available under the terms of the GNU Free
73 Documentation License; see the file COPYING.DOC for the terms.
75 This library used to be available under the GPL - this was changed
76 with version 1.1.7 with the rationale that there are now many free
77 crypto libraries available and many of them come with capabilities
78 similar to Libcrypt. We decided that to foster the use of
79 cryptography in Free Software an LGPLed library would make more
80 sense because it avoids problems due to license incompatibilities
81 between some Free Software licenses and the GPL.
83 Please note that in many cases it is better for a library to be
84 licensed under the GPL, so that it provides an advantage for free
85 software projects. The Lesser GPL is so named because it does
86 less to protect the freedom of the users of the code that it
87 covers. See http://www.gnu.org/philosophy/why-not-lgpl.html for
93 Here is a list of configure options which are sometimes useful
97 Enable the integrated malloc checking code. Please
98 note that this feature does not work on all CPUs
99 (e.g. SunOS 5.7 on UltraSparc-2) and might give
103 Do not use assembler modules. It is not possible
104 to use this on some CPU types.
106 --enable-ld-version-script
107 Libgcrypt tries to build a library where internal
108 symbols are not exported. This requires support
109 from ld and is currently enabled for a few OSes.
110 If you know that your ld supports the so called
111 ELF version scripts, you can use this option to
112 force its use. OTOH, if you get error message
113 from the linker, you probably want to use this
114 option to disable the use of version scripts.
115 Note, that you should never ever use an
116 undocumented symbol or one which is prefixed with
119 --enable-ciphers=list
120 --enable-pubkey-ciphers=list
121 --enable-digests=list
122 If not otherwise specified, all algorithms
123 included in the libgcrypt source tree are built.
124 An exception are algorithms, which depend on
125 features not provided by the system, like 64bit
126 data types. With these switches it is possible
127 to select exactly those algorithm modules, which