Commit d5957691 authored by Matt Caswell's avatar Matt Caswell
Browse files

More tweaks to the installation instructions



A few things were out of date and a few things were missing. Also some
formatting updates.

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent a5aa63a4
Loading
Loading
Loading
Loading
+94 −93
Original line number Diff line number Diff line

 INSTALLATION ON THE UNIX PLATFORM
 ---------------------------------
 OPENSSL INSTALLATION
 --------------------

 [Installation on DOS (with djgpp), Windows, MacOS (before MacOS X)
 [Installation on DOS (with djgpp), MacOS (before MacOS X)
  and NetWare is described in INSTALL.DJGPP, INSTALL.MacOS
  and INSTALL.NW.
  
  This document describes installation on the main supported operating
  systems, currently the Unix family and OpenVMS.]
  systems, currently the Linux/Unix family, OpenVMS and Windows.]

 To install OpenSSL, you will need:

@@ -15,7 +15,7 @@
  * Perl 5 with core modules (please read README.PERL)
  * The perl module Text::Template (please read README.PERL)
  * an ANSI C compiler
  * a development environment in form of development libraries and C
  * a development environment in the form of development libraries and C
    header files
  * a supported operating system

@@ -87,34 +87,44 @@
                   Unix:           PREFIX/ssl (PREFIX is given by --prefix)
                   OpenVMS:        SYS$COMMON:[SSL]

  --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.

  no-deprecated    Don't build with support for any deprecated APIs. This is the
                   same as using "--api" and supplying the latest version
                   number.

  no-autoalginit   Don't automatically load all supported ciphers and digests.
                   Typically OpenSSL will make available all of its supported
                   ciphers and digests. For a statically linked application this
                   may be undesirable if small executable size is an objective.
                This only affects libcrypto. Ciphers and digests will have to be
                loaded manually using EVP_add_cipher() and EVP_add_digest() if
                this option is used.
                   This only affects libcrypto. Ciphers and digests will have to
                   be loaded manually using EVP_add_cipher() and
                   EVP_add_digest() if this option is used.

  no-autoerrinit   Don't automatically load all libcrypto/libssl error strings.
                Typically OpenSSL will automatically load human readable error
                strings. For a statically linked application this may be
                undesirable if small executable size is an objective.
                   Typically OpenSSL will automatically load human readable
                   error strings. For a statically linked application this may
                   be undesirable if small executable size is an objective.

  no-threads       Don't try to build with support for multi-threaded
                   applications.

  threads          Build with support for multi-threaded applications.
                This will usually require additional system-dependent options!
                See "Note on multi-threading" below.
                   This will usually require additional system-dependent
                   options! See "Note on multi-threading" below.

  no-zlib          Don't try to build with support for zlib compression and
                   decompression.

  zlib             Build with support for zlib compression/decompression.

  zlib-dynamic  Like "zlib", but has OpenSSL load the zlib library dynamically
                when needed.  This is only supported on systems where loading
                of shared libraries is supported.  This is the default choice.
  zlib-dynamic     Like "zlib", but has OpenSSL load the zlib library
                   dynamically when needed.  This is only supported on systems
                   where loading of shared libraries is supported.  This is the
                   default choice.

  no-shared        Don't try to create shared libraries.

@@ -144,15 +154,13 @@
                   consider no-sse2. Both 386 and no-asm options above imply
                   no-sse2.

  no-<cipher>   Build without the specified cipher (bf, cast, des, dh, dsa,
                hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
                The crypto/<cipher> directory can be removed after running
                "make depend".
  no-<alg>         Build without the specified algorithm (bf, cast, des, dh,
                   dsa, hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).

  -Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will
                be passed through to the compiler to allow you to
                define preprocessor symbols, specify additional libraries,
                library directories or other compiler options.
  -Dxxx, -lxxx,    These system specific options will be passed through to the
  -Lxxx, -fxxx,    compiler to allow you to define preprocessor symbols, specify
  -mXXX, -Kxxx     additional libraries, library directories or other compiler
                   options.


 Installation in Detail
@@ -272,9 +280,9 @@
     report the problem to <rt@openssl.org> (note that your message
     will be recorded in the request tracker publicly readable at
     https://www.openssl.org/community/index.html#bugs and will be
     forwarded to a public mailing list). Include the output of "make
     report" in your message.  Please check out the request tracker. Maybe
     the bug was already reported or has already been fixed.
     forwarded to a public mailing list). Please check out the request
     tracker. Maybe the bug was already reported or has already been
     fixed.

     [If you encounter assembler error messages, try the "no-asm"
     configuration option as an immediate fix.]
@@ -325,11 +333,7 @@
     compiler optimization flags from the CFLAGS line in Makefile and
     run "make clean; make" or corresponding.

     Please send a bug report to <openssl-bugs@openssl.org>, and when
     you do, please run the following and include the output in your
     report:

       $ make report
     Please send a bug reports to <rt@openssl.org>.

  4. If everything tests ok, install OpenSSL with

@@ -352,7 +356,7 @@
         lib/engines    Contains the OpenSSL dynamically loadable engines.
         share/man/{man1,man3,man5,man7}
                        Contains the OpenSSL man-pages.
         share/doc/openssl/html{man1,man3,man5,man7}
         share/doc/openssl/html/{man1,man3,man5,man7}
                        Contains the HTML rendition of the man-pages.

       OpenVMS ('arch' is replaced with the architecture name, "Alpha"
@@ -443,13 +447,10 @@
 use them would be to conserve memory on systems where several programs
 are using OpenSSL.

 For some systems, the OpenSSL Configure script knows what is needed to
 For most systems, the OpenSSL Configure script knows what is needed to
 build shared libraries for libcrypto and libssl.  On these systems,
 the shared libraries are currently not created by default, but giving
 the option "shared" will get them created.  This method supports Makefile
 targets for shared library creation, like linux-shared.  Those targets
 can currently be used on their own just as well, but this is expected
 to change in future versions of OpenSSL.
 the option "shared" will get them created.

 Note on random number generation
 --------------------------------