Notes for Windows platforms
===========================
- - [Native builds using Visual C++](#native-builds-using-visual-c++)
+ - [Native builds using Visual C++](#native-builds-using-visual-c)
- [Native builds using Embarcadero C++Builder](
- #native-builds-using-embarcadero-c++-builder)
+ #native-builds-using-embarcadero-cbuilder)
- [Native builds using MinGW](#native-builds-using-mingw)
- [Linking native applications](#linking-native-applications)
- [Hosted builds using Cygwin](#hosted-builds-using-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.
+For this option, you can use Cygwin.
Native builds using Visual C++
==============================
- `perl Configure VC-WIN64A` if you want 64-bit OpenSSL or
- `perl Configure VC-WIN64-ARM` if you want Windows on Arm (win-arm64)
OpenSSL or
+ - `perl Configure VC-WIN64-CLANGASM-ARM` if you want Windows on Arm (win-arm64)
+ OpenSSL with assembly support using clang-cl as assembler or
+ - `perl Configure VC-CLANG-WIN64-CLANGASM-ARM` if you want Windows on Arm (win-arm64)
+ OpenSSL using clang-cl as both compiler and assembler or
+ - `perl Configure VC-WIN32-HYBRIDCRT` if you want 32-bit OpenSSL dependent
+ on the Universal CRT or
+ - `perl Configure VC-WIN64A-HYBRIDCRT` if you want 64-bit OpenSSL dependent
+ on the Universal CRT or
- `perl Configure` to let Configure figure out the platform
6. `nmake`
This section applies to all native builds.
-If you link with static OpenSSL libraries then you're expected to
+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
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
+namely whether 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
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
+stripping of carriage returns. To avoid this, ensure that a binary
mount is used, e.g. `mount -b c:\somewhere /home`.