APPS & TEST: Eliminate as much use of EVP_PKEY_size() as possible
[openssl.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 9ea1f115138fd0f1ee6ba70c88c297e190e948af..36f271787d69c939aeae8f24d8062d442efce8e2 100644 (file)
--- a/INSTALL
+++ b/INSTALL
  --openssldir depend in what configuration is used and what Windows
  implementation OpenSSL is built on.  More notes on this in NOTES.WIN):
 
  --openssldir depend in what configuration is used and what Windows
  implementation OpenSSL is built on.  More notes on this in NOTES.WIN):
 
-  --api=x.y.z
-                   Don't build with support for deprecated APIs below the
-                   specified version number. For example "--api=1.1.0" will
-                   remove support for all APIS that were deprecated in OpenSSL
-                   version 1.1.0 or below. This is a rather specialized option
-                   for developers. If you just intend to remove all deprecated
-                   APIs entirely (up to the current version), it is easier
-                   to add the 'no-deprecated' option instead (see below).
+  --api=x.y[.z]
+                   Build the OpenSSL libraries to support the API for
+                   the specified version.  If "no-deprecated" is also
+                   given, don't build with support for deprecated APIs
+                   in or below the specified version number. For example
+                   "--api=1.1.0" with "no-deprecated" will remove
+                   support for all APIS that were deprecated in
+                   OpenSSL version 1.1.0 or below.
+                   This is a rather specialized option for developers.
+                   If you just intend to remove all deprecated APIs
+                   entirely (up to the current version), only specify
+                   "-no-deprecated" (see below).
+                   If "--api" isn't given, it defaults to the current
+                   OpenSSL minor version.
 
   --cross-compile-prefix=PREFIX
                    The PREFIX to include in front of commands for your
 
   --cross-compile-prefix=PREFIX
                    The PREFIX to include in front of commands for your
                    work if the zlib or zlib-dynamic options are also chosen.
 
   enable-crypto-mdebug
                    work if the zlib or zlib-dynamic options are also chosen.
 
   enable-crypto-mdebug
-                   Build support for debugging memory allocated via
-                   OPENSSL_malloc() or OPENSSL_zalloc().
+                   This now only enables the failed-malloc feature.
 
   enable-crypto-mdebug-backtrace
 
   enable-crypto-mdebug-backtrace
-                   As for crypto-mdebug, but additionally provide backtrace
-                   information for allocated memory.
-                   TO BE USED WITH CARE: this uses GNU C functionality, and
-                   is therefore not usable for non-GNU config targets.  If
-                   your build complains about the use of '-rdynamic' or the
-                   lack of header file execinfo.h, this option is not for you.
-                   ALSO NOTE that even though execinfo.h is available on your
-                   system (through Gnulib), the functions might just be stubs
-                   that do nothing.
+                   This is a no-op; the project uses the compiler's
+                   address/leak sanitizer instead.
 
   no-ct
                    Don't build support for Certificate Transparency.
 
   no-deprecated
 
   no-ct
                    Don't build support for Certificate Transparency.
 
   no-deprecated
-                   Don't build with support for any deprecated APIs. This is the
-                   same as using "--api" and supplying the latest version
-                   number.
+                   Don't build with support for deprecated APIs up
+                   until and including the version given with
+                   "--api" (or the current version of "--api" wasn't
+                   given).
 
   no-dgram
                    Don't build support for datagram based BIOs. Selecting this
                    option will also force the disabling of DTLS.
 
 
   no-dgram
                    Don't build support for datagram based BIOs. Selecting this
                    option will also force the disabling of DTLS.
 
+  no-dso
+                   Don't build support for loading Dynamic Shared Objects.
+
   enable-devcryptoeng
                    Build the /dev/crypto engine.  It is automatically selected
                    on BSD implementations, in which case it can be disabled with
   enable-devcryptoeng
                    Build the /dev/crypto engine.  It is automatically selected
                    on BSD implementations, in which case it can be disabled with
                    Take note of the VAR=value documentation below and how
                    these flags interact with those variables.
 
                    Take note of the VAR=value documentation below and how
                    these flags interact with those variables.
 
-  -xxx, +xxx
+  -xxx, +xxx, /xxx
                    Additional options that are not otherwise recognised are
                    Additional options that are not otherwise recognised are
-                   passed through as they are to the compiler as well.  Again,
-                   consult your compiler documentation.
+                   passed through as they are to the compiler as well.
+                   Unix-style options beginning with a '-' or '+' and
+                   Windows-style options beginning with a '/' are recognized.
+                   Again, consult your compiler documentation.
+
+                   If the option contains arguments separated by spaces,
+                   then the URL-style notation %20 can be used for the space
+                   character in order to avoid having to quote the option.
+                   For example, -opt%20arg gets expanded to -opt arg.
+                   In fact, any ASCII character can be encoded as %xx using its
+                   hexadecimal encoding.
 
                    Take note of the VAR=value documentation below and how
                    these flags interact with those variables.
 
                    Take note of the VAR=value documentation below and how
                    these flags interact with those variables.
 
      Configure creates a build file ("Makefile" on Unix, "makefile" on Windows
      and "descrip.mms" on OpenVMS) from a suitable template in Configurations,
 
      Configure creates a build file ("Makefile" on Unix, "makefile" on Windows
      and "descrip.mms" on OpenVMS) from a suitable template in Configurations,
-     and defines various macros in include/openssl/opensslconf.h (generated from
-     include/openssl/opensslconf.h.in).
+     and defines various macros in include/openssl/configuration.h (generated
+     from include/openssl/configuration.h.in).
 
  1c. Configure OpenSSL for building outside of the source tree.
 
 
  1c. Configure OpenSSL for building outside of the source tree.
 
      malfunction with Perl).  You may want increased verbosity, that
      can be accomplished like this:
 
      malfunction with Perl).  You may want increased verbosity, that
      can be accomplished like this:
 
-       $ make VERBOSE=1 test                            # Unix
+     Verbosity on failure only (make macro VERBOSE_FAILURE or VF):
+
+       $ make VF=1 test                                 # Unix
+       $ mms /macro=(VF=1) test                         ! OpenVMS
+       $ nmake VF=1 test                                # Windows
 
 
-       $ mms /macro=(VERBOSE=1) test                    ! OpenVMS
+     Full verbosity (make macro VERBOSE or V):
 
 
-       $ nmake VERBOSE=1 test                           # Windows
+       $ make V=1 test                                  # Unix
+       $ mms /macro=(V=1) test                          ! OpenVMS
+       $ nmake V=1 test                                 # Windows
 
      If you want to run just one or a few specific tests, you can use
      the make variable TESTS to specify them, like this:
 
      If you want to run just one or a few specific tests, you can use
      the make variable TESTS to specify them, like this:
 
      And of course, you can combine (Unix example shown):
 
 
      And of course, you can combine (Unix example shown):
 
-       $ make VERBOSE=1 TESTS='test_rsa test_dsa' test
+       $ make VF=1 TESTS='test_rsa test_dsa' test
 
      You can find the list of available tests like this:
 
 
      You can find the list of available tests like this:
 
 
  HASHBANGPERL
                 The command string for the Perl executable to insert in the
 
  HASHBANGPERL
                 The command string for the Perl executable to insert in the
-                #! line of perl scripts that will be publically installed.
+                #! line of perl scripts that will be publicly installed.
                 Default: /usr/bin/env perl
                 Note: the value of this variable is added to the same scripts
                 on all platforms, but it's only relevant on Unix-like platforms.
                 Default: /usr/bin/env perl
                 Note: the value of this variable is added to the same scripts
                 on all platforms, but it's only relevant on Unix-like platforms.
  described here. Examine the Makefiles themselves for the full list.
 
  all
  described here. Examine the Makefiles themselves for the full list.
 
  all
-                The default target to build all the software components.
+                The target to build all the software components and
+                documentation.
+
+ build_sw
+                Build all the software components.
+                THIS IS THE DEFAULT TARGET.
+
+ build_docs
+                Build all documentation components.
 
  clean
                 Remove all build artefacts and return the directory to a "clean"
 
  clean
                 Remove all build artefacts and return the directory to a "clean"