Fix HRR bug
[openssl.git] / NOTES.WIN
index 1c10b75..c31aed9 100644 (file)
--- a/NOTES.WIN
+++ b/NOTES.WIN
@@ -2,15 +2,17 @@
  NOTES FOR THE WINDOWS PLATFORMS
  ===============================
 
- [Notes for Windows CE can be found in INSTALL.WCE]
-
  Requirement details for native (Visual C++) builds
  --------------------------------------------------
 
+ In addition to the requirements and instructions listed in INSTALL,
+ this are required as well:
+
  - You need Perl.  We recommend ActiveState Perl, available from
-   http://www.activestate.com/ActivePerl.
+   https://www.activestate.com/ActivePerl. Another viable alternative
+   appears to be Strawberry Perl, http://strawberryperl.com.
    You also need the perl module Text::Template, available on CPAN.
-   Please read README.PERL for more information.
+   Please read NOTES.PERL for more information.
 
  - You need a C compiler.  OpenSSL has been tested to build with these:
 
@@ -35,7 +37,7 @@
      PREFIX:      %ProgramFiles(86)%\OpenSSL
      OPENSSLDIR:  %CommonProgramFiles(86)%\SSL
 
- For VC-WIN32, the following defaults are use:
+ For VC-WIN64, the following defaults are use:
 
      PREFIX:      %ProgramW6432%\OpenSSL
      OPENSSLDIR:  %CommonProgramW6432%\SSL
      PREFIX:      %ProgramFiles%\OpenSSL
      OPENSSLDIR:  %CommonProgramFiles%\SSL
 
+ ALSO NOTE that those directories are usually write protected, even if
+ your account is in the Administrators group.  To work around that,
+ start the command prompt by right-clicking on it and choosing "Run as
+ Administrator" before running 'nmake install'.  The other solution
+ is, of course, to choose a different set of directories by using
+ --prefix and --openssldir when configuring.
 
  GNU C (Cygwin)
  --------------
@@ -57,7 +65,7 @@
 
  To build OpenSSL using Cygwin, you need to:
 
- * Install Cygwin (see http://cygwin.com/)
+ * Install Cygwin (see https://cygwin.com/)
 
  * Install Cygwin Perl and ensure it is in the path. Recall that
    as least 5.10.0 is required.
@@ -88,9 +96,9 @@
    required. Run the installers and do whatever magic they say it takes
    to start MSYS bash shell with GNU tools and matching Perl on its PATH.
    "Matching Perl" refers to chosen "shell environment", i.e. if built
-   under MSYS, then Perl compiled for MSYS is highly recommended.
+   under MSYS, then Perl compiled for MSYS must be used.
 
-   Alternativelly, one can use MSYS2 from http://msys2.github.io/,
+   Alternatively, one can use MSYS2 from https://msys2.github.io/,
    which includes MingW (32-bit and 64-bit).
 
  * It is also possible to cross-compile it on Linux by configuring
  This section applies to non-Cygwin builds.
 
  If you link with static OpenSSL libraries then you're expected to
- additionally link your application with WS2_32.LIB, ADVAPI32.LIB,
- GDI32.LIB and USER32.LIB. Those developing non-interactive service
- applications might feel concerned about linking with the latter two,
- as they are justly associated with interactive desktop, which is not
- available to service processes. The toolkit is designed to detect in
- which context it's currently executed, GUI, console app or service,
- and act accordingly, namely whether or not to actually make GUI calls.
- Additionally those who wish to /DELAYLOAD:GDI32.DLL and /DELAYLOAD:USER32.DLL
- and actually keep them off service process should consider
- implementing and exporting from .exe image in question own
- _OPENSSL_isservice not relying on USER32.DLL.
- E.g., on Windows Vista and later you could:
+ additionally link your application with WS2_32.LIB, GDI32.LIB,
+ ADVAPI32.LIB, CRYPT32.LIB and USER32.LIB. Those developing
+ non-interactive service applications might feel concerned about
+ linking with GDI32.LIB and USER32.LIB, as they are justly associated
+ with interactive desktop, which is not available to service
+ processes. The toolkit is designed to detect in which context it's
+ currently executed, GUI, console app or service, and act accordingly,
+ namely whether or not to actually make GUI calls. Additionally those
+ who wish to /DELAYLOAD:GDI32.DLL and /DELAYLOAD:USER32.DLL and
+ actually keep them off service process should consider implementing
+ and exporting from .exe image in question own _OPENSSL_isservice not
relying on USER32.DLL. E.g., on Windows Vista and later you could:
 
        __declspec(dllexport) __cdecl BOOL _OPENSSL_isservice(void)
        {   DWORD sess;