@@ -28,12 +28,12 @@ For this option you can use Cygwin.
28
28
Native builds using Visual C++
29
29
==============================
30
30
31
- The native builds using Visual C++ have a VC-* prefix.
31
+ The native builds using Visual C++ have a ` VC-* ` prefix.
32
32
33
33
Requirement details
34
34
-------------------
35
35
36
- In addition to the requirements and instructions listed in INSTALL.md,
36
+ In addition to the requirements and instructions listed in ` INSTALL.md ` ,
37
37
these are required as well:
38
38
39
39
### Perl
@@ -64,22 +64,26 @@ Quick start
64
64
65
65
4 . Use Visual Studio Developer Command Prompt with administrative privileges,
66
66
choosing one of its variants depending on the intended architecture.
67
- Or run "cmd" and execute "vcvarsall.bat" with one of the options x86,
68
- x86_amd64, x86_arm, x86_arm64, amd64, amd64_x86, amd64_arm, or amd64_arm64.
69
- This sets up the environment variables needed for nmake.exe, cl.exe, etc.
67
+ Or run ` cmd ` and execute ` vcvarsall.bat ` with one of the options ` x86 ` ,
68
+ ` x86_amd64 ` , ` x86_arm ` , ` x86_arm64 ` , ` amd64 ` , ` amd64_x86 ` , ` amd64_arm ` ,
69
+ or ` amd64_arm64 ` .
70
+ This sets up the environment variables needed for ` nmake.exe ` , ` cl.exe ` ,
71
+ etc.
70
72
See also
71
73
< https://docs.microsoft.com/cpp/build/building-on-the-command-line >
72
74
73
75
5 . From the root of the OpenSSL source directory enter
74
- perl Configure VC-WIN32 if you want 32-bit OpenSSL or
75
- perl Configure VC-WIN64A if you want 64-bit OpenSSL or
76
- perl Configure to let Configure figure out the platform
76
+ - ` perl Configure VC-WIN32 ` if you want 32-bit OpenSSL or
77
+ - ` perl Configure VC-WIN64A ` if you want 64-bit OpenSSL or
78
+ - ` perl Configure VC-WIN64-ARM ` if you want Windows on Arm (win-arm64)
79
+ OpenSSL or
80
+ - ` perl Configure ` to let Configure figure out the platform
77
81
78
- 6 . nmake
82
+ 6 . ` nmake `
79
83
80
- 7 . nmake test
84
+ 7 . ` nmake test `
81
85
82
- 8 . nmake install
86
+ 8 . ` nmake install `
83
87
84
88
For the full installation instructions, or if anything goes wrong at any stage,
85
89
check the INSTALL.md file.
@@ -109,37 +113,37 @@ installation for examples), these fallbacks are used:
109
113
ALSO NOTE that those directories are usually write protected, even if
110
114
your account is in the Administrators group. To work around that,
111
115
start the command prompt by right-clicking on it and choosing "Run as
112
- Administrator" before running ' nmake install' . The other solution
116
+ Administrator" before running ` nmake install ` . The other solution
113
117
is, of course, to choose a different set of directories by using
114
- --prefix and --openssldir when configuring.
118
+ ` --prefix ` and ` --openssldir ` when configuring.
115
119
116
- Special notes for Universal Windows Platform builds, aka VC-* -UWP
117
- --------------------------------------------------------------------
120
+ Special notes for Universal Windows Platform builds, aka ` VC-*-UWP `
121
+ -------------------------------------------------------------------
118
122
119
123
- UWP targets only support building the static and dynamic libraries.
120
124
121
- - You should define the platform type to " uwp" and the target arch via
122
- " vcvarsall.bat" before you compile. For example, if you want to build
123
- " arm64" builds, you should run " vcvarsall.bat x86_arm64 uwp" .
125
+ - You should define the platform type to ` uwp ` and the target arch via
126
+ ` vcvarsall.bat ` before you compile. For example, if you want to build
127
+ ` arm64 ` builds, you should run ` vcvarsall.bat x86_arm64 uwp ` .
124
128
125
129
Native builds using Embarcadero C++Builder
126
130
=========================================
127
131
128
132
This toolchain (a descendant of Turbo/Borland C++) is an alternative to MSVC.
129
133
OpenSSL currently includes an experimental 32-bit configuration targeting the
130
- Clang-based compiler (bcc32c.exe) in v10.3.3 Community Edition.
134
+ Clang-based compiler (` bcc32c.exe ` ) in v10.3.3 Community Edition.
131
135
< https://www.embarcadero.com/products/cbuilder/starter >
132
136
133
137
1 . Install Perl.
134
138
135
139
2 . Open the RAD Studio Command Prompt.
136
140
137
141
3 . Go to the root of the OpenSSL source directory and run:
138
- perl Configure BC-32 --prefix=%CD%
142
+ ` perl Configure BC-32 --prefix=%CD% `
139
143
140
- 4 . make -N
144
+ 4 . ` make -N `
141
145
142
- 5 . make -N test
146
+ 5 . ` make -N test `
143
147
144
148
6 . Build your program against this OpenSSL:
145
149
* Set your include search path to the "include" subdirectory of OpenSSL.
@@ -166,32 +170,38 @@ MinGW offers an alternative way to build native OpenSSL, by cross compilation.
166
170
167
171
- Perl, at least version 5.10.0, which usually comes pre-installed with MSYS2
168
172
169
- - make, installed using " pacman -S make" into the MSYS2 environment
173
+ - make, installed using ` pacman -S make ` into the MSYS2 environment
170
174
171
- - MinGW[ 64] compiler: mingw-w64-i686-gcc and/or mingw-w64-x86_64-gcc.
175
+ - MinGW[ 64] compiler: ` mingw-w64-i686-gcc ` and/or ` mingw-w64-x86_64-gcc ` .
172
176
These compilers must be on your MSYS2 $PATH.
173
177
A common error is to not have these on your $PATH.
174
178
The MSYS2 version of gcc will not work correctly here.
175
179
176
180
In the MSYS2 shell do the configuration depending on the target architecture:
177
181
178
182
./Configure mingw ...
183
+
179
184
or
185
+
180
186
./Configure mingw64 ...
187
+
181
188
or
189
+
182
190
./Configure ...
183
191
184
192
for the default architecture.
185
193
186
- Apart from that, follow the Unix / Linux instructions in INSTALL.md.
194
+ Apart from that, follow the Unix / Linux instructions in ` INSTALL.md ` .
187
195
188
196
* It is also possible to build mingw[ 64] on Linux or Cygwin.
189
197
190
- In this case configure with the corresponding --cross-compile-prefix= option.
191
- For example
198
+ In this case configure with the corresponding ` --cross-compile-prefix= `
199
+ option. For example
192
200
193
201
./Configure mingw --cross-compile-prefix=i686-w64-mingw32- ...
202
+
194
203
or
204
+
195
205
./Configure mingw64 --cross-compile-prefix=x86_64-w64-mingw32- ...
196
206
197
207
This requires that you've installed the necessary add-on packages for
@@ -203,18 +213,18 @@ Linking native applications
203
213
This section applies to all native builds.
204
214
205
215
If you link with static OpenSSL libraries then you're expected to
206
- additionally link your application with WS2_32.LIB, GDI32.LIB,
207
- ADVAPI32.LIB, CRYPT32.LIB and USER32.LIB. Those developing
216
+ additionally link your application with ` WS2_32.LIB ` , ` GDI32.LIB ` ,
217
+ ` ADVAPI32.LIB ` , ` CRYPT32.LIB ` and ` USER32.LIB ` . Those developing
208
218
non-interactive service applications might feel concerned about
209
- linking with GDI32.LIB and USER32.LIB, as they are justly associated
219
+ linking with ` GDI32.LIB ` and ` USER32.LIB ` , as they are justly associated
210
220
with interactive desktop, which is not available to service
211
221
processes. The toolkit is designed to detect in which context it's
212
222
currently executed, GUI, console app or service, and act accordingly,
213
223
namely whether or not to actually make GUI calls. Additionally those
214
- who wish to /DELAYLOAD: GDI32 .DLL and /DELAYLOAD: USER32 .DLL and
224
+ who wish to ` /DELAYLOAD:GDI32.DLL ` and ` /DELAYLOAD:USER32.DLL ` and
215
225
actually keep them off service process should consider implementing
216
- and exporting from .exe image in question own _ OPENSSL_isservice not
217
- relying on USER32.DLL. E.g., on Windows Vista and later you could:
226
+ and exporting from .exe image in question own ` _OPENSSL_isservice ` not
227
+ relying on ` USER32.DLL ` . E.g., on Windows Vista and later you could:
218
228
219
229
__declspec(dllexport) __cdecl BOOL _OPENSSL_isservice(void)
220
230
{
@@ -233,7 +243,7 @@ See also the OPENSSL_Applink manual page.
233
243
Hosted builds using Cygwin
234
244
==========================
235
245
236
- Cygwin implements a POSIX/Unix runtime system (cygwin1.dll) on top of the
246
+ Cygwin implements a POSIX/Unix runtime system (` cygwin1.dll ` ) on top of the
237
247
Windows subsystem and provides a Bash shell and GNU tools environment.
238
248
Consequently, a build of OpenSSL with Cygwin is virtually identical to the
239
249
Unix procedure.
@@ -249,7 +259,7 @@ To build OpenSSL using Cygwin, you need to:
249
259
250
260
Apart from that, follow the Unix / Linux instructions in INSTALL.md.
251
261
252
- NOTE: " make test" and normal file operations may fail in directories
253
- mounted as text (i.e. mount -t c:\somewhere /home) due to Cygwin
262
+ NOTE: ` make test ` and normal file operations may fail in directories
263
+ mounted as text (i.e. ` mount -t c:\somewhere /home ` ) due to Cygwin
254
264
stripping of carriage returns. To avoid this ensure that a binary
255
- mount is used, e.g. mount -b c:\somewhere /home.
265
+ mount is used, e.g. ` mount -b c:\somewhere /home ` .
0 commit comments