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:
$ ./config [if this fails, go to step 1b below]
$ ./config
$ make
$ make test
$ 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
historical reasons) /usr/local/ssl. If you want to install it anywhere else,
run config like this:
$ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
Configuration Options
---------------------
There are several options to ./config to customize the build:
--prefix=DIR Install in DIR/bin, DIR/lib, DIR/include. Configuration
files used by OpenSSL will be in DIR/ssl or the directory
specified by --openssldir.
--prefix=DIR Install in DIR/bin, DIR/lib, DIR/include/openssl.
Configuration files used by OpenSSL will be in DIR/ssl
or the directory specified by --openssldir.
--openssldir=DIR Directory for OpenSSL files. If no prefix is specified,
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
applications.
@ -44,27 +51,36 @@
This will usually require additional system-dependent options!
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
more efficient, but requires at least a 486).
If anything goes wrong, follow the detailed instructions below. If your
operating system is not (yet) supported by OpenSSL, see the section on
porting to a new system.
no-<cipher> Build without the specified cipher (bf, cast, des, dh, dsa,
hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
-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
----------------------
1a. Configure OpenSSL for your operation system automatically:
$ ./config
$ ./config [options]
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
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
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
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
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
Configure creates the file Makefile.ssl from Makefile.org and
defines various macros in crypto/opensslconf.h (generated from
crypto/opensslconf.h.in).
2. Build OpenSSL by running:
@ -96,10 +112,19 @@
OpenSSL binary ("openssl"). The libraries will be built in the top-level
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:
$ 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
$ make install
@ -109,10 +134,10 @@
certs Initially empty, this is the default location
for certificate files.
private Initially empty, this is the default location
for private key files.
lib Contains the OpenSSL configuration file "openssl.cnf".
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
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.
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
build with RSAref.
public key library, RSAREF, by configuring OpenSSL with the option "rsaref".
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

27
config
View File

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