poly1305: silence compiler warning on clang/aarch64
[libgcrypt.git] / README
diff --git a/README b/README
index 5b1050c..c14181a 100644 (file)
--- a/README
+++ b/README
@@ -1,21 +1,14 @@
                    Libgcrypt - The GNU Crypto Library
                   ------------------------------------
-                            Version 1.5.x
-      WARNING: THIS VERSION OF LIBGCRYPT IS UNDER DEVELOPMENT.
-               THE STABLE VERSION IS THE 1.4.
+                             Version 1.7
 
-    Copyright 2000, 2002, 2003, 2004, 2007, 2008,
-              2009 Free Software Foundation, Inc.
-
-    This file is free software; as a special exception the author gives
-    unlimited permission to copy and/or distribute it, with or without
-    modifications, as long as this notice is preserved.
-
-    This file is distributed in the hope that it will be useful, but
-    WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-    implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+       Copyright (C) 1989,1991-2017 Free Software Foundation, Inc.
+       Copyright (C) 2012-2017 g10 Code GmbH
+       Copyright (C) 2013-2017 Jussi Kivilinna
 
+    Libgcrypt is free software.  See the file AUTHORS for full copying
+    notices, and LICENSES for notices about contributions that require
+    these additional notices to be distributed.
 
 
     Overview
     The download canonical location for libgcrypt is:
 
       ftp://ftp.gnupg.org/gcrypt/libgcrypt/
-     
+    or
+      https://gnupg.org/ftp/gcrypt/libgcrypt/
+
     To build libgcrypt you need libgpg-error:
 
       ftp://ftp.gnupg.org/gcrypt/libgpg-error/
+    or
+      https://gnupg.org/ftp/gcrypt/libgpg-error/
 
     You should get the latest versions of course.
 
     After building and installing the libgpg-error package, you may
-    continue with Libgcrypt installation As with allmost all GNU
+    continue with Libgcrypt installation as with allmost all GNU
     packages, you just have to do
 
        ./configure
@@ -62,7 +59,7 @@
       ./autogen.sh --build-w32
       make
       make install
-      
+
     By default this command sequences expectsd a libgpg-error
     installed below $HOME/w32root and installs libgcrypt to that
     directory too.  See the autogen.sh code for details.
@@ -73,7 +70,7 @@
       cd doc
       make pdf
 
-      
+
 
     Mailing List
     ------------
     You may want to join the developer's mailing list
     gcrypt-devel@gnupg.org by sending mail with a subject of
     "subscribe" to gcrypt-devel-request@gnupg.org.  An archive of this
-    list is available at http://lists.gnupg.org .
+    list is available at https://lists.gnupg.org .
 
 
-    Configure options 
+    Configure options
     -----------------
-    Here is a list of configure options which are sometimes useful 
+    Here is a list of configure options which are sometimes useful
     for installation.
 
+     --enable-large-data-tests
+                     With this option a "make check" will take really
+                     long due to extra checks for the hash algorithms.
+
      --enable-m-guard
                      Enable the integrated malloc checking code. Please
                      note that this feature does not work on all CPUs
@@ -96,9 +97,9 @@
                      you a bus error.
 
      --disable-asm
-                     Do not use assembler modules.  It is not possible 
+                     Do not use assembler modules.  It is not possible
                      to use this on some CPU types.
-                    
+
      --enable-ld-version-script
                      Libgcrypt tries to build a library where internal
                      symbols are not exported.  This requires support
                      option to disable the use of version scripts.
                      Note, that you should never ever use an
                      undocumented symbol or one which is prefixed with
-                     an underscore. 
+                     an underscore.
 
      --enable-ciphers=list
      --enable-pubkey-ciphers=list
                      Take care: The generated library may crash on
                      non-compatible CPUs.
 
-     --enable-random=NAME 
+     --enable-random=NAME
                      Force the use of the random gathering module
                     NAME.  Default is either to use /dev/random or
                     the auto mode.  Possible values for NAME are:
                     linux - Use the module which accesses /dev/random.
                             This is the first choice and the default one
                             for GNU/Linux or *BSD.
-                      auto - Compile linux, egd and unix in and 
+                      auto - Compile linux, egd and unix in and
                              automagically select at runtime.
-  
+
      --enable-hmac-binary-check
                      Include support to check the binary at runtime
                      against a HMAC checksum.  This works only in FIPS
                      available.  Try this if you get problems with
                      assembler code.
 
+     --disable-aesni-support
+                     Disable support for the AES-NI instructions of
+                     newer Intel CPUs.  The default is to use AES-NI
+                     if available.  Try this if you get problems with
+                     assembler code.
+
+     --disable-O-flag-munging
+                     Some code is too complex for some compilers while
+                     in higher optimization modes, thus the compiler
+                     invocation is modified to use a lower
+                     optimization level.  Usually this works very well
+                     but on some platforms these rules break the
+                     invocation.  This option may be used to disable
+                     the feature under the assumption that either good
+                     CFLAGS are given or the compiler can grok the code.
+
+
+
 
     Build Problems
     --------------
     make.  Try gmake or grab the sources from a GNU archive and
     install them.
 
-    If you are cross-compiling and you get an error either building a
-    tool called "yat2m" or running that tool, the problem is most
-    likely a bad or missing native compiler.  We require a standard
-    C-89 compiler to produce an executable to be run on the build
-    platform.  You can explicitly set such a compiler with configure
-    arguments. On HP/UX you might want to try: "CC_FOR_BUILD=c89".
-
     Specific problems on some machines:
 
       * IBM RS/6000 running AIX
             CFLAGS="-O -K pentium" ./configure --disable-asm
 
       * SunOS 4.1.4
-      
+
          ./configure ac_cv_sys_symbol_underscore=yes
 
+      * Sparc64 CPUs
+
+        We have reports about failures in the AES module when
+        compiling using gcc (e.g. version 4.1.2) and the option -O3;
+        using -O2 solves the problem.
 
 
     License
     -------
-    
+
     The library is distributed under the terms of the GNU Lesser
     General Public License (LGPL); see the file COPYING.LIB for the
-    actual terms.  The helper programs (e.g. gcryptrnd and getrandom)
-    as well as the documentation are distributed under the terms of
-    the GNU General Public License (GPL); see the file COPYING for the
     actual terms.
 
-    This library used to be available under the GPL - this was changed
-    with version 1.1.7 with the rationale that there are now many free
-    crypto libraries available and many of them come with capabilities
-    similar to Libcrypt.  We decided that to foster the use of
-    cryptography in Free Software an LGPLed library would make more
-    sense because it avoids problems due to license incompatibilities
-    between some Free Software licenses and the GPL.
+    The helper programs as well as the documentation are distributed
+    under the terms of the GNU General Public License (GPL); see the
+    file COPYING for the actual terms.
 
-    Please note that in many cases it is better for a library to be
-    licensed under the GPL, so that it provides an advantage for free
-    software projects.  The Lesser GPL is so named because it does
-    less to protect the freedom of the users of the code that it
-    covers.  See http://www.gnu.org/philosophy/why-not-lgpl.html for
-    more explanation.
+    The file LICENSES has notices about contributions that require
+    that these additional notices are distributed.
 
 
     Contact
 
     See the file AUTHORS.
 
-    Commercial grade support for Libgcrypt is available; please see
-    http://www.gnupg.org/service.html .
+    Commercial grade support for Libgcrypt is available; for a listing
+    of offers see https://www.gnupg.org/service.html .
+
+    Maintenance and development of Libgcrypt is mostly financed by
+    donations.  We currently employ 3 full-time developers, one
+    part-timer, and one contractor.  They all work on GnuPG and
+    closely related software like Libgcrypt.  Please visit
+    https://gnupg.org/donate/ to see out how you can help.
 
 
   This file is Free Software; as a special exception the authors gives
   distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY, to the extent permitted by law; without even the implied
   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-