diff options
author | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2020-06-10 14:15:28 +0200 |
---|---|---|
committer | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2020-07-05 11:29:43 +0200 |
commit | 036cbb6bbf30955abdcffaf6e52cd926d8d8ee75 (patch) | |
tree | 1929b9d33c7041858cbbed980f8c981d8eb77c3c /NOTES.WIN | |
parent | util/markdownlint.rb: Add two rule exceptions: MD023 and MD026 (diff) | |
download | openssl-036cbb6bbf30955abdcffaf6e52cd926d8d8ee75.tar.xz openssl-036cbb6bbf30955abdcffaf6e52cd926d8d8ee75.zip |
Rename NOTES*, README*, VERSION, HACKING, LICENSE to .md or .txt
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12109)
Diffstat (limited to 'NOTES.WIN')
-rw-r--r-- | NOTES.WIN | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/NOTES.WIN b/NOTES.WIN deleted file mode 100644 index 683e40671e..0000000000 --- a/NOTES.WIN +++ /dev/null @@ -1,215 +0,0 @@ - - NOTES FOR WINDOWS PLATFORMS - =========================== - - There are various options to build and run OpenSSL on the Windows platforms. - - "Native" OpenSSL uses the Windows APIs directly at run time. - To build a native OpenSSL you can either use: - - Microsoft Visual C++ (MSVC) C compiler on the command line - or - MinGW cross compiler - run on the GNU-like development environment MSYS2 - or run on Linux or Cygwin - - "Hosted" OpenSSL relies on an external POSIX compatibility layer - for building (using GNU/Unix shell, compiler, and tools) and at run time. - For this option you can use Cygwin. - - - Visual C++ native builds, aka VC-* - ===================================== - - Requirement details - ------------------- - - In addition to the requirements and instructions listed in INSTALL.md, - these are required as well: - - - Perl. - We recommend Strawberry Perl, available from http://strawberryperl.com/ - Please read NOTES.PERL for more information, including the use of CPAN. - An alternative is ActiveState Perl, https://www.activestate.com/ActivePerl - for which you may need to explicitly build the Perl module Win32/Console.pm - via https://platform.activestate.com/ActiveState and then download it. - - - Microsoft Visual C compiler. - Since these are proprietary and ever-changing we cannot test them all. - Older versions may not work. Use a recent version wherever possible. - - - Netwide Assembler (NASM), available from https://www.nasm.us - Note that NASM is the only supported assembler. - - Quick start - ----------- - - 1. Install Perl - - 2. Install NASM - - 3. Make sure both Perl and NASM are on your %PATH% - - 4. Use Visual Studio Developer Command Prompt with administrative privileges, - choosing one of its variants depending on the intended architecture. - Or run "cmd" and execute "vcvarsall.bat" with one of the options x86, - x86_amd64, x86_arm, x86_arm64, amd64, amd64_x86, amd64_arm, or amd64_arm64. - This sets up the environment variables needed for nmake.exe, cl.exe, etc. - See also https://docs.microsoft.com/cpp/build/building-on-the-command-line - - 5. From the root of the OpenSSL source directory enter - perl Configure VC-WIN32 if you want 32-bit OpenSSL or - perl Configure VC-WIN64A if you want 64-bit OpenSSL or - perl Configure to let Configure figure out the platform - - 6. nmake - - 7. nmake test - - 8. nmake install - - For the full installation instructions, or if anything goes wrong at any stage, - check the INSTALL.md file. - - Installation directories - ------------------------ - - The default installation directories are derived from environment - variables. - - For VC-WIN32, the following defaults are use: - - PREFIX: %ProgramFiles(86)%\OpenSSL - OPENSSLDIR: %CommonProgramFiles(86)%\SSL - - For VC-WIN64, the following defaults are use: - - PREFIX: %ProgramW6432%\OpenSSL - OPENSSLDIR: %CommonProgramW6432%\SSL - - Should those environment variables not exist (on a pure Win32 - installation for examples), these fallbacks are used: - - 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. - - Special notes for Universal Windows Platform builds, aka VC-*-UWP - -------------------------------------------------------------------- - - - UWP targets only support building the static and dynamic libraries. - - - You should define the platform type to "uwp" and the target arch via - "vcvarsall.bat" before you compile. For example, if you want to build - "arm64" builds, you should run "vcvarsall.bat x86_arm64 uwp". - - - Native OpenSSL built using MinGW - ================================ - - MinGW offers an alternative way to build native OpenSSL, by cross compilation. - - * Usually the build is done on Windows in a GNU-like environment called MSYS2. - - MSYS2 provides GNU tools, a Unix-like command prompt, - and a UNIX compatibility layer for applications. - However, in this context it is only used for building OpenSSL. - The resulting OpenSSL does not rely on MSYS2 to run and is fully native. - - Requirement details - - - MSYS2 shell, from https://www.msys2.org/ - - - Perl, at least version 5.10.0, which usually comes pre-installed with MSYS2 - - - make, installed using "pacman -S make" into the MSYS2 environment - - - MinGW[64] compiler: mingw-w64-i686-gcc and/or mingw-w64-x86_64-gcc. - These compilers must be on your MSYS2 $PATH. - A common error is to not have these on your $PATH. - The MSYS2 version of gcc will not work correctly here. - - In the MSYS2 shell do the configuration depending on the target architecture: - - ./Configure mingw ... - or - ./Configure mingw64 ... - or - ./Configure ... - for the default architecture. - - Apart from that, follow the Unix / Linux instructions in INSTALL.md. - - * It is also possible to build mingw[64] on Linux or Cygwin. - - In this case configure with the corresponding --cross-compile-prefix= option. - For example - - ./Configure mingw --cross-compile-prefix=i686-w64-mingw32- ... - or - ./Configure mingw64 --cross-compile-prefix=x86_64-w64-mingw32- ... - - This requires that you've installed the necessary add-on packages for - mingw[64] cross compilation. - - Linking your application - ======================== - - This section applies to all "native" builds. - - If you link with static OpenSSL libraries then you're expected to - 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; - if (ProcessIdToSessionId(GetCurrentProcessId(),&sess)) - return sess==0; - return FALSE; - } - - If you link with OpenSSL .DLLs, then you're expected to include into - your application code a small "shim" snippet, which provides - the glue between the OpenSSL BIO layer and your compiler run-time. - See also the OPENSSL_Applink manual page. - - - Hosted OpenSSL built using Cygwin - ================================= - - Cygwin implements a POSIX/Unix runtime system (cygwin1.dll) on top of the - Windows subsystem and provides a Bash shell and GNU tools environment. - Consequently, a build of OpenSSL with Cygwin is virtually identical to the - Unix procedure. - - To build OpenSSL using Cygwin, you need to: - - * Install Cygwin, see https://cygwin.com/ - - * Install Cygwin Perl, at least version 5.10.0 - and ensure it is in the $PATH - - * Run the Cygwin Bash shell - - Apart from that, follow the Unix / Linux instructions in INSTALL.md. - - NOTE: "make test" and normal file operations may fail in directories - mounted as text (i.e. mount -t c:\somewhere /home) due to Cygwin - stripping of carriage returns. To avoid this ensure that a binary - mount is used, e.g. mount -b c:\somewhere /home. |