From: Ralf S. Engelschall Date: Mon, 22 Mar 1999 15:36:37 +0000 (+0000) Subject: Bring style of INSTALL* documents in sync with README file X-Git-Tag: OpenSSL_0_9_2b~8 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=4109b97c4bd35f8e284eac1526368da37f76755d;ds=sidebyside Bring style of INSTALL* documents in sync with README file and fix some inconsistencies. --- diff --git a/INSTALL b/INSTALL index d72383e49a..722612ba44 100644 --- a/INSTALL +++ b/INSTALL @@ -1,76 +1,71 @@ -Installing OpenSSL on Unix --------------------------- -[For instructions for compiling OpenSSL on Windows systems, see INSTALL.W32]. + INSTALLATION ON THE UNIX PLATFORM + --------------------------------- -To install OpenSSL, you will need: + [For instructions for compiling OpenSSL on Windows systems, see INSTALL.W32]. + + To install OpenSSL, you will need: * Perl * C compiler - * A supported operating system - -Quick Start ------------ + * A supported Unix operating system -If you want to just get on with it, do: + Quick Start + ----------- - sh config [if this fails, go to step 1b below] - make - make rehash - make test - make install + If you want to just get on with it, do: -This will build and install OpenSSL in the default location, which is -/usr/local/ssl. If you want to install it anywhere else, do this -after running `sh config': + $ ./config [if this fails, go to step 1b below] + $ make + $ make rehash + $ make test + $ make install - perl util/ssldir.pl /new/install/path + 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, + do this after running `sh config': -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. + $ perl util/ssldir.pl /new/install/path -Installation in Detail ----------------------- + 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. - 1a. Configure OpenSSL for your operation system automatically + Installation in Detail + ---------------------- - Run + 1a. Configure OpenSSL for your operation system automatically: - sh config + $ ./config - This guesses at your operating system (and compiler, if - necessary) and configures OpenSSL based on this guess. Check the - first line of output 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. + This guesses at your operating system (and compiler, if necessary) and + configures OpenSSL based on this guess. Check the first line of output 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. 1b. Configure OpenSSL for your operating system manually - OpenSSL knows about a range of different operating system, hardware - and compiler combinations. To see the ones it knows about, run - - ./Configure + OpenSSL knows about a range of different operating system, hardware and + compiler combinations. To see the ones it knows about, run - Pick a suitable name from the list that matches your system. For - most operating systems there is a choice between using "cc" or - "gcc". + $ ./Configure - When you have identified your system (and if necessary compiler) - use this name as the argument to ./Configure. For example, a - "linux-elf" user would run: + Pick a suitable name from the list that matches your system. For most + operating systems there is a choice between using "cc" or "gcc". When + you have identified your system (and if necessary compiler) use this name + as the argument to ./Configure. For example, a "linux-elf" user would + run: - ./Configure linux-elf + $ ./Configure linux-elf If your system is not available, you will have to edit the Configure program and add the correct configuration for your system. - Configure configures various files by converting an existing .org - file into the real file. If you edit any files, remember that if - a corresponding .org file exists them the next time you run - ./Configure your changes will be lost when the file gets - re-created from the .org file. The files that are created from - .org files are: + Configure configures various files by converting an existing .org file + into the real file. If you edit any files, remember that if a + corresponding .org file exists them the next time you run ./Configure + your changes will be lost when the file gets re-created from the .org + file. The files that are created from .org files are: Makefile.ssl crypto/des/des.h @@ -85,71 +80,56 @@ Installation in Detail 2. Set the install directory - If the install directory will be the default of /usr/local/ssl, - skip to the next stage. Otherwise, run + If the install directory will be the default of /usr/local/ssl, skip to + the next stage. Otherwise, run - perl util/ssldir.pl /new/install/path + $ perl util/ssldir.pl /new/install/path - This configures the installation location into the "install" - target of the top-level Makefile, and also updates some defines - in an include file so that the default certificate directory is - under the proper installation directory. It also updates a few - utility files used in the build process. + This configures the installation location into the "install" target of + the top-level Makefile, and also updates some defines in an include file + so that the default certificate directory is under the proper + installation directory. It also updates a few utility files used in the + build process. - 3. Build OpenSSL + 3. Build OpenSSL by running: - Now run + $ make - make + This will build the OpenSSL libraries (libcrypto.a and libssl.a) and the + OpenSSL binary ("openssl"). The libraries will be built in the top-level + directory, and the binary will be in the "apps" directory. - This will build the OpenSSL libraries (libcrypto.a and libssl.a) - and the OpenSSL binary ("openssl"). The libraries will be built - in the top-level directory, and the binary will be in the "apps" - directory. + 4. After a successful build, the libraries should be tested. Run: - 4. After a successful build, the libraries should be tested. Run + $ make rehash + $ make test - 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). + (The first line makes the test certificates in the "certs" directory + accessable via an hash name, which is required for some of the tests). 5. If everything tests ok, install OpenSSL with - make install + $ make install - This will create the installation directory (if it does not - exist) and then create the following subdirectories: + This will create the installation directory (if it does not exist) and + then create the following subdirectories: - bin Contains the openssl binary and a few other utility - programs. It also contains symbolic links so - that openssl commands can be accessed directly - (e.g. so that "s_client" can be used instead of - "openssl s_client"). - certs Initially empty, this is the default location - for certificate files. + bin Contains the openssl binary and a few other + utility programs. include Contains the header files needed if you want to compile programs with libcrypto or libssl. lib Contains the library files themselves and the OpenSSL configuration file "openssl.cnf". + certs Initially empty, this is the default location + for certificate files. private Initially empty, this is the default location for private key files. ----------------------------------------------------------------------- - -Additional Compilation Notes ----------------------------- - -These notes come from SSLeay 0.9.1 and cover some more advanced -facilities (such as building a single makefile for use on Windows -systems). - -# Installation of SSLeay. -# It depends on perl for a few bits but those steps can be skipped and -# the top level makefile edited by hand +-------------------------------------------------------------------------------- +The orignal Unix build instructions from SSLeay follow. +Note: some of this may be out of date and no longer applicable +-------------------------------------------------------------------------------- # When bringing the SSLeay distribution back from the evil intel world # of Windows NT, do the following to make it nice again under unix :-) diff --git a/INSTALL.W32 b/INSTALL.W32 index 61b563c089..8ec2f9f820 100644 --- a/INSTALL.W32 +++ b/INSTALL.W32 @@ -1,97 +1,104 @@ -Building OpenSSL under Win32. + + INSTALLATION ON THE WIN32 PLATFORM + ---------------------------------- -Heres a few comments about building OpenSSL in Windows environments. Most of -this is tested on Win32 but it may also work in Win 3.1 with some modification. -See the end of this file for Eric's original comments. + Heres a few comments about building OpenSSL in Windows environments. Most of + this is tested on Win32 but it may also work in Win 3.1 with some + modification. See the end of this file for Eric's original comments. -Note: the default Win32 environment is to leave out any Windows NT specific -features: (currently only BIO_s_log()) if you want NT specific features see -the "Tweaks" section later. + Note: the default Win32 environment is to leave out any Windows NT specific + features: (currently only BIO_s_log()) if you want NT specific features see + the "Tweaks" section later. -You will need perl for Win32 (which can be got from various sources) and Visual -C++. + You will need perl for Win32 (which can be got from various sources) and + Visual C++. -If you are compiling from a tarball or a CVS snapshot then the Win32 files may -well be not up to date. This may mean that some "tweaking" is required to get -it all to work. See the trouble shooting section later on for if (when?) it -goes wrong. + If you are compiling from a tarball or a CVS snapshot then the Win32 files + may well be not up to date. This may mean that some "tweaking" is required to + get it all to work. See the trouble shooting section later on for if (when?) + it goes wrong. -Firstly you should run Configure: + Firstly you should run Configure: -perl Configure VC-WIN32 - -Then rebuild the Win32 Makefiles and friends: + > perl Configure VC-WIN32 -ms\do_ms + Then rebuild the Win32 Makefiles and friends: -if you get errors about things not having numbers assigned then check the -troubleshooting section: you probably wont be able to compile it as it stands. + > ms\do_ms -then from the VC++ environment at a prompt do: + If you get errors about things not having numbers assigned then check the + troubleshooting section: you probably wont be able to compile it as it + stands. -nmake -f ms\ntdll.mak + Then from the VC++ environment at a prompt do: -If all is well it should compile and you will have some DLLs and executables -in out32dll. If you want to try the tests then cd to out32dll and run ..\ms\test + > nmake -f ms\ntdll.mak -Troubleshooting. + If all is well it should compile and you will have some DLLs and executables + in out32dll. If you want to try the tests then do: + + > cd out32dll + > ..\ms\test -Since the Win32 build is only occasionally tested it may not always compile -cleanly. + Troubleshooting + --------------- -If you get an error about functions not having numbers assigned when you -run ms\do_ms then this means the Win32 ordinal files are not up to date. You -can do: + Since the Win32 build is only occasionally tested it may not always compile + cleanly. If you get an error about functions not having numbers assigned + when you run ms\do_ms then this means the Win32 ordinal files are not up to + date. You can do: -perl util\mkdef.pl crypto ssl update + > perl util\mkdef.pl crypto ssl update -then ms\do_ms should not give a warning any more. However the numbers that get -assigned by this technique may not match those that eventually get assigned -in the CVS tree: so anything linked against this version of the library -may need to be recompiled. + then ms\do_ms should not give a warning any more. However the numbers that + get assigned by this technique may not match those that eventually get + assigned in the CVS tree: so anything linked against this version of the + library may need to be recompiled. -If you get errors about unresolved externals then this means that either you -didn't read the note above about functions not having numbers assigned or -someone forgot to add a function to the header file. + If you get errors about unresolved externals then this means that either you + didn't read the note above about functions not having numbers assigned or + someone forgot to add a function to the header file. -In this latter case check out the header file to see if the function is defined -in the header file: it should be defined twice: once with ANSI prototypes and -once without. If its missing from the non ASNI section then add an entry for -it: check that ms\do_ms now reports missing numbers and update the numbers as -above. + In this latter case check out the header file to see if the function is + defined in the header file: it should be defined twice: once with ANSI + prototypes and once without. If its missing from the non ASNI section then + add an entry for it: check that ms\do_ms now reports missing numbers and + update the numbers as above. -If you get warnings in the code then the compilation will halt. + If you get warnings in the code then the compilation will halt. -The default Makefile for Win32 halts whenever any warnings occur. Since VC++ -has its own ideas about warnings which don't always match up to other -environments this can happen. The best fix is to edit the file with the warning -in and fix it. Alternatively you can turn off the halt on warnings by editing -the CFLAG line in the Makefile and deleting the /WX option. + The default Makefile for Win32 halts whenever any warnings occur. Since VC++ + has its own ideas about warnings which don't always match up to other + environments this can happen. The best fix is to edit the file with the + warning in and fix it. Alternatively you can turn off the halt on warnings by + editing the CFLAG line in the Makefile and deleting the /WX option. -You might get compilation errors. Again you will have to fix these or -report them. + You might get compilation errors. Again you will have to fix these or report + them. -One final comment about compiling applications linked to the OpenSSL library. -If you don't use the multithreaded DLL runtime library (/MD option) your -program will almost certainly crash: see the original SSLeay description below -for more details. + One final comment about compiling applications linked to the OpenSSL library. + If you don't use the multithreaded DLL runtime library (/MD option) your + program will almost certainly crash: see the original SSLeay description + below for more details. -Tweaks. + Tweaks + ------ -There are various changes you can make to the Win32 compile environment. If you -have the MASM assembler 'ml' then you can try the assembly language code. To -do this remove the 'no-asm' part from do_ms.bat. You can also add 'debug' here -to make a debugging version of the library. + There are various changes you can make to the Win32 compile environment. If + you have the MASM assembler 'ml' then you can try the assembly language code. + To do this remove the 'no-asm' part from do_ms.bat. You can also add 'debug' + here to make a debugging version of the library. -If you want to enable the NT specific features of OpenSSL (currently only -the logging BIO) follow the instructions above but call the batch file -do_nt.bat instead of do_ms.bat. + If you want to enable the NT specific features of OpenSSL (currently only the + logging BIO) follow the instructions above but call the batch file do_nt.bat + instead of do_ms.bat. -You can also build a static version of the library using the Makefile ms\nt.mak + You can also build a static version of the library using the Makefile + ms\nt.mak -------------------------------------------------------------------------------- -The orignal Windows build instructions from SSLeay follow. Note: some of this -may be out of date and no longer applicable +The orignal Windows build instructions from SSLeay follow. +Note: some of this may be out of date and no longer applicable -------------------------------------------------------------------------------- The Microsoft World.