More information about installing.

This commit is contained in:
Ulf Möller 1999-04-30 18:22:59 +00:00
parent 4eb77b2679
commit b1fe6b43f4
3 changed files with 53 additions and 34 deletions

57
INSTALL
View File

@ -15,27 +15,34 @@
If you want to just get on with it, do: If you want to just get on with it, do:
$ ./config [if this fails, go to step 1b below] $ ./config
$ make $ make
$ make test $ make test
$ make install $ make install
[If any of these steps fails, see section Installation in Detail below.]
This will build and install OpenSSL in the default location, which is (for This will build and install OpenSSL in the default location, which is (for
historical reasons) /usr/local/ssl. If you want to install it anywhere else, historical reasons) /usr/local/ssl. If you want to install it anywhere else,
run config like this: run config like this:
$ ./config --prefix=/usr/local --openssldir=/usr/local/openssl $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
Configuration Options
---------------------
There are several options to ./config to customize the build: There are several options to ./config to customize the build:
--prefix=DIR Install in DIR/bin, DIR/lib, DIR/include. Configuration --prefix=DIR Install in DIR/bin, DIR/lib, DIR/include/openssl.
files used by OpenSSL will be in DIR/ssl or the directory Configuration files used by OpenSSL will be in DIR/ssl
specified by --openssldir. or the directory specified by --openssldir.
--openssldir=DIR Directory for OpenSSL files. If no prefix is specified, --openssldir=DIR Directory for OpenSSL files. If no prefix is specified,
the library files and binaries are also installed there. the library files and binaries are also installed there.
rsaref Build with RSADSI's RSAREF toolkit. rsaref Build with RSADSI's RSAREF toolkit (this assumes that
librsaref.a is in the library search path).
no-threads Don't try to build with support for multi-threaded no-threads Don't try to build with support for multi-threaded
applications. applications.
@ -44,27 +51,36 @@
This will usually require additional system-dependent options! This will usually require additional system-dependent options!
See "Note on multi-threading" below. See "Note on multi-threading" below.
no-asm Build with no assembler code. no-asm Do not use assembler code.
386 Use the 80386 instruction set only (the default x86 code is 386 Use the 80386 instruction set only (the default x86 code is
more efficient, but requires at least a 486). more efficient, but requires at least a 486).
If anything goes wrong, follow the detailed instructions below. If your no-<cipher> Build without the specified cipher (bf, cast, des, dh, dsa,
operating system is not (yet) supported by OpenSSL, see the section on hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
porting to a new system.
-Dxxx, -lxxx, -Lxxx, -fxxx, -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.
Installation in Detail Installation in Detail
---------------------- ----------------------
1a. Configure OpenSSL for your operation system automatically: 1a. Configure OpenSSL for your operation system automatically:
$ ./config $ ./config [options]
This guesses at your operating system (and compiler, if necessary) and This guesses at your operating system (and compiler, if necessary) and
configures OpenSSL based on this guess. Run ./config -t -v to see configures OpenSSL based on this guess. Run ./config -t to see
if it guessed correctly. If it did not get it correct or you want to if it guessed correctly. If it did not get it correct or you want to
use a different compiler then go to step 1b. Otherwise go to step 2. use a different compiler then go to step 1b. Otherwise go to step 2.
On some systems, you can include debugging information as follows:
$ ./config -d [options]
1b. Configure OpenSSL for your operating system manually 1b. Configure OpenSSL for your operating system manually
OpenSSL knows about a range of different operating system, hardware and OpenSSL knows about a range of different operating system, hardware and
@ -78,14 +94,14 @@
as the argument to ./Configure. For example, a "linux-elf" user would as the argument to ./Configure. For example, a "linux-elf" user would
run: run:
$ ./Configure linux-elf [--prefix=DIR] [--openssldir=OPENSSLDIR] $ ./Configure linux-elf [options]
If your system is not available, you will have to edit the Configure If your system is not available, you will have to edit the Configure
program and add the correct configuration for your system. The program and add the correct configuration for your system. The
generic configurations "cc" or "gcc" should usually work. generic configurations "cc" or "gcc" should usually work.
Configure creates the Makefile.ssl from Makefile.org and defines Configure creates the file Makefile.ssl from Makefile.org and
various macros in crypto/opensslconf.h (generated from defines various macros in crypto/opensslconf.h (generated from
crypto/opensslconf.h.in). crypto/opensslconf.h.in).
2. Build OpenSSL by running: 2. Build OpenSSL by running:
@ -96,10 +112,19 @@
OpenSSL binary ("openssl"). The libraries will be built in the top-level OpenSSL binary ("openssl"). The libraries will be built in the top-level
directory, and the binary will be in the "apps" directory. directory, and the binary will be in the "apps" directory.
If "make" fails, please report the problem to <openssl-bugs@openssl.org>.
Include the output of "./config -t" and the OpenSSL version
number in your message.
3. After a successful build, the libraries should be tested. Run: 3. After a successful build, the libraries should be tested. Run:
$ make test $ make test
If a test fails, try removing any compiler optimization flags from
the CFLAGS line in Makefile.ssl and run "make clean; make". Please
send a bug report to <openssl-bugs@openssl.org>, including the
output of "openssl version -a" and of the failed test.
4. If everything tests ok, install OpenSSL with 4. If everything tests ok, install OpenSSL with
$ make install $ make install
@ -109,10 +134,10 @@
certs Initially empty, this is the default location certs Initially empty, this is the default location
for certificate files. for certificate files.
private Initially empty, this is the default location
for private key files.
lib Contains the OpenSSL configuration file "openssl.cnf". lib Contains the OpenSSL configuration file "openssl.cnf".
misc Various scripts. misc Various scripts.
private Initially empty, this is the default location
for private key files.
If you didn't chose a different installation prefix, lib also contains If you didn't chose a different installation prefix, lib also contains
the library files themselves, and the following additional subdirectories the library files themselves, and the following additional subdirectories

3
README
View File

@ -144,8 +144,7 @@
a Win32 platform, read the INSTALL.W32 file. a Win32 platform, read the INSTALL.W32 file.
For people in the USA, it is possible to compile OpenSSL to use RSA Inc.'s For people in the USA, it is possible to compile OpenSSL to use RSA Inc.'s
public key library, RSAref. Read doc/ssleay.txt under 'rsaref.doc' on how to public key library, RSAREF, by configuring OpenSSL with the option "rsaref".
build with RSAref.
Read the documentation in the doc/ directory. It is quite rough, but it Read the documentation in the doc/ directory. It is quite rough, but it
lists the functions, you will probably have to look at the code to work out lists the functions, you will probably have to look at the code to work out

27
config
View File

@ -240,7 +240,7 @@ esac
# At this point we gone through all the one's # At this point we gone through all the one's
# we know of: Punt # we know of: Punt
echo "${MACHINE}-whatever-${SYSTEM}|${RELEASE}|${VERSION}" echo "${MACHINE}-whatever-${SYSTEM}"
exit 0 exit 0
) 2>/dev/null | ( ) 2>/dev/null | (
@ -250,7 +250,6 @@ exit 0
PREFIX="" PREFIX=""
SUFFIX="" SUFFIX=""
VERBOSE="false"
TEST="false" TEST="false"
# pick up any command line args to config # pick up any command line args to config
@ -258,12 +257,10 @@ for i
do do
case "$i" in case "$i" in
-d*) PREFIX="debug-";; -d*) PREFIX="debug-";;
-v*) VERBOSE="true";;
-t*) TEST="true";; -t*) TEST="true";;
-h*) TEST="true"; cat <<EOF -h*) TEST="true"; cat <<EOF
Usage: config [options] Usage: config [options]
-d Add a debug- prefix to machine choice. -d Add a debug- prefix to machine choice.
-v Verbose mode.
-t Test mode, do not run the Configure perl script. -t Test mode, do not run the Configure perl script.
-h This help. -h This help.
@ -288,9 +285,7 @@ fi
# read the output of the embedded GuessOS # read the output of the embedded GuessOS
read GUESSOS read GUESSOS
if [ "$VERBOSE" = "true" ]; then echo Operating system: $GUESSOS
echo GUESSOS $GUESSOS
fi
# now map the output into SSLeay terms ... really should hack into the # now map the output into SSLeay terms ... really should hack into the
# script above so we end up with values in vars but that would take # script above so we end up with values in vars but that would take
@ -366,16 +361,16 @@ fi
OUT="$PREFIX$OUT" OUT="$PREFIX$OUT"
# at this point we have the answer ... which we could check again $PERL ./Configure 2>&1 | grep "$OUT" > /dev/null
# and then fallback to a vanilla SSLeay build but then this script if [ $? = "0" ]; then
# wouldn't get updated echo Configuring for $OUT
echo Configuring for $OUT
if [ "$TEST" = "true" ]; then if [ "$TEST" = "true" ]; then
echo $PERL ./Configure $OUT $options echo $PERL ./Configure $OUT $options
else
$PERL ./Configure $OUT $options
fi
else else
$PERL ./Configure $OUT $options echo "This system is not supported. See file INSTALL for details."
fi fi
) )