To install OpenSSL, you will need:
* Perl 5
- * ANSI C compiler
+ * an ANSI C compiler
* a supported Unix operating system
Quick Start
$ ./config [if this fails, go to step 1b below]
$ make
- $ make rehash
$ make test
$ make install
rsaref Build with RSADSI's RSAREF toolkit.
+ 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.
+
no-asm Build with no assembler code.
386 Use the 80386 instruction set only (the default x86 code is
$ ./Configure linux-elf [--prefix=DIR] [--openssldir=OPENSSLDIR]
If your system is not available, you will have to edit the Configure
- program and add the correct configuration for your system.
+ program and add the correct configuration for your system. The
+ generic configurations "cc" or "gcc" should usually work.
Configure creates the Makefile.ssl from Makefile.org and defines
various macros in crypto/opensslconf.h (generated from
3. After a successful build, the libraries should be tested. Run:
- $ make rehash
$ make test
- (The first line makes the test certificates in the "certs" directory
- accessable via an hash name, which is required for some of the tests).
-
4. If everything tests ok, install OpenSSL with
$ make install
private Initially empty, this is the default location
for private key files.
lib Contains the OpenSSL configuration file "openssl.cnf".
+ misc Various scripts.
If you didn't chose a different installation prefix, lib also contains
the library files themselves, and the following additional subdirectories
include/openssl Contains the header files needed if you want to
compile programs with libcrypto or libssl.
+ Package builders who want to configure the library for standard
+ locations, but have the package installed somewhere else so that
+ it can easily be packaged, can use
+
+ $ make INSTALL_PREFIX=/tmp/package-root install
+
+ (or specify "--install_prefix=/tmp/package-root" as a configure
+ option). The specified prefix will be prepended to all
+ installation target filenames.
+
+
NOTE: The header files used to reside directly in the include
directory, but have now been moved to include/openssl so that
OpenSSL can co-exist with other libraries which use some of the
with names of the form <foo.h>.
+ Note on multi-threading
+ -----------------------
+
+ For some systems, the OpenSSL Configure script knows what compiler options
+ are needed to generate a library that is suitable for multi-threaded
+ applications. On these systems, support for multi-threading is enabled
+ by default; use the "no-threads" option to disable (this should never be
+ necessary).
+
+ On other systems, to enable support for multi-threading, you will have
+ to specifiy at least two options: "threads", and a system-dependent option.
+ (The latter is "-D_REENTRANT" on various systems.) The default in this
+ case, obviously, is not to include support for multi-threading (but
+ you can still use "no-threads" to suppress an annoying warning message
+ from the Configure script.)
+
--------------------------------------------------------------------------------
The orignal Unix build instructions from SSLeay follow.