Move Makefiles to Makefile.in
[openssl.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 411a655..41c3f32 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -12,7 +12,7 @@
  To install OpenSSL, you will need:
 
   * make
-  * Perl 5
+  * Perl 5 with core modules (see 'Note on Perl' further down)
   * an ANSI C compiler
   * a development environment in form of development libraries and C
     header files
@@ -79,7 +79,7 @@
                 compiler flags for any other CPU specific configuration,
                 e.g. "-m32" to build x86 code on an x64 system.
 
-  no-sse2      Exclude SSE2 code pathes. Normally SSE2 extention is
+  no-sse2      Exclude SSE2 code pathes. Normally SSE2 extension is
                detected at run-time, but the decision whether or not the
                machine code will be executed is taken solely on CPU
                capability vector. This means that if you happen to run OS
      generic configurations "cc" or "gcc" should usually work on 32 bit
      systems.
 
-     Configure creates the file Makefile.ssl from Makefile.org and
+     Configure creates the file Makefile.ssl from Makefile.in and
      defines various macros in crypto/opensslconf.h (generated from
      crypto/opensslconf.h.in).
 
      standard headers).  If it is a problem with OpenSSL itself, please
      report the problem to <openssl-bugs@openssl.org> (note that your
      message will be recorded in the request tracker publicly readable
-     via http://www.openssl.org/support/rt2.html 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.
+     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.
 
      [If you encounter assembler error messages, try the "no-asm"
      configuration option as an immediate fix.]
 
        $ make test
 
-     If a test fails, look at the output.  There may be reasons for
-     the failure that isn't a problem in OpenSSL itself (like a missing
-     or malfunctioning bc).  If it is a problem with OpenSSL itself,
-     try removing any compiler optimization flags from the CFLAG line
-     in Makefile.ssl and run "make clean; make". Please send a bug
-     report to <openssl-bugs@openssl.org>, including the output of
-     "make report" in order to be added to the request tracker at
-     http://www.openssl.org/support/rt2.html.
+     If some tests fail, look at the output.  There may be reasons for
+     the failure that isn't a problem in OpenSSL itself (like a
+     malfunction with Perl).  You may want increased verbosity, that
+     can be accomplished like this:
+
+       $ HARNESS_VERBOSE=yes make test
+
+     Also, you will find logs for all commands the tests have executed
+     in logs, test/test_*.log, one for each individual test.
+
+     If you want to run just one or a few specific tests, you can use
+     the make variable TESTS to specify them, like this:
+
+       $ make TESTS='test_rsa test_dsa' test
+
+     And of course, you can combine:
+       
+       $ HARNESS_VERBOSE=yes make TESTS='test_rsa test_dsa' test
+
+     You can find the list of available tests like this:
+
+       $ make list-tests
+
+     If you find a problem with OpenSSL itself, try removing any
+     compiler optimization flags from the CFLAG line in Makefile and
+     run "make clean; make".
+
+     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
 
   4. If everything tests ok, install OpenSSL with
 
      with names of the form <foo.h>.
 
 
+ Note on Perl
+ ------------
+
+ For our scripts, we rely quite a bit on Perl, and increasingly on
+ some core Perl modules.  These Perl modules are part of the Perl
+ source, so if you build Perl on your own, you should be set.
+
+ However, if you install Perl as binary packages, the outcome might
+ differ, and you may have to check that you do get the core modules
+ installed properly.  We do not claim to know them all, but experience
+ has told us the following:
+
+ - on Linux distributions based on Debian, the package 'perl' will
+   install the core Perl modules as well, so you will be fine.
+ - on Linux distributions based on RPMs, you will need to install
+   'perl-core' rather than just 'perl'.
+
+ It is highly recommended that you have at least Perl version 5.12
+ installed.
+
  Note on multi-threading
  -----------------------
 
  Note on shared libraries
  ------------------------
 
- Shared library is currently an experimental feature.  The only reason to
- have them would be to conserve memory on systems where several program
- are using OpenSSL.  Binary backward compatibility can't be guaranteed
before OpenSSL version 1.0.
+ Shared libraries have certain caveats.  Binary backward compatibility
+ can't be guaranteed before OpenSSL version 1.0.  The only reason to
+ 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
  build shared libraries for libcrypto and libssl.  On these systems,
                rm -f $F; ln -s $OPENSSL_SOURCE/$F $F
                echo $F '->' $OPENSSL_SOURCE/$F
        done
-       make -f Makefile.org clean
+       make -f Makefile.in clean
 
  OPENSSL_SOURCE is an environment variable that contains the absolute (this
  is important!) path to the OpenSSL source tree.