]>
Commit | Line | Data |
---|---|---|
f4d8f037 | 1 | ## -*- mode: perl; -*- |
f09e7ca9 RS |
2 | ## Standard openssl configuration targets. |
3 | ## | |
4 | ## If you edit this file, run this command before committing | |
d10dac11 | 5 | ## make -f Makefile.in TABLE |
f09e7ca9 RS |
6 | ## This file is interpolated by the Configure script. |
7 | ||
f09e7ca9 RS |
8 | %targets = ( |
9 | ||
7ead0c89 | 10 | #### Basic configs that should work on any 32-bit box |
5e1b2353 RL |
11 | "gcc" => { |
12 | cc => "gcc", | |
7ead0c89 AP |
13 | cflags => "", |
14 | debug_cflags => "-O0 -g", | |
15 | release_cflags => "-O3", | |
5e1b2353 RL |
16 | thread_cflag => "(unknown)", |
17 | bn_ops => "BN_LLONG", | |
18 | }, | |
19 | "cc" => { | |
20 | cc => "cc", | |
21 | cflags => "-O", | |
22 | thread_cflag => "(unknown)", | |
23 | }, | |
f09e7ca9 | 24 | |
7ead0c89 | 25 | #### VOS Configurations |
5e1b2353 | 26 | "vos-gcc" => { |
5e1b2353 RL |
27 | cc => "gcc", |
28 | cflags => "-Wall -DOPENSSL_SYS_VOS -D_POSIX_C_SOURCE=200112L -D_BSD -D_VOS_EXTENDED_NAMES -DB_ENDIAN", | |
c2e27310 | 29 | debug_cflags => "-O0 -g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG", |
5e1b2353 RL |
30 | release_cflags => "-O3", |
31 | thread_cflag => "(unknown)", | |
32 | sys_id => "VOS", | |
33 | lflags => "-Wl,-map", | |
34 | bn_ops => "BN_LLONG", | |
35 | shared_extension => ".so", | |
36 | }, | |
f09e7ca9 | 37 | |
f6739c3d AP |
38 | #### Solaros configirations |
39 | "solaris-common" => { | |
40 | template => 1, | |
41 | cflags => "-DFILIO_H", | |
1740c162 | 42 | ex_libs => "-lsocket -lnsl -ldl", |
f6739c3d AP |
43 | dso_scheme => "dlfcn", |
44 | shared_target => "solaris-shared", | |
45 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
46 | }, | |
f09e7ca9 | 47 | #### Solaris x86 with GNU C setups |
5e1b2353 | 48 | "solaris-x86-gcc" => { |
7ead0c89 AP |
49 | # -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have |
50 | # to do it here because whenever GNU C instantiates an assembler | |
51 | # template it surrounds it with #APP #NO_APP comment pair which | |
52 | # (at least Solaris 7_x86) /usr/ccs/bin/as fails to assemble | |
53 | # with "Illegal mnemonic" error message. | |
f6739c3d | 54 | inherit_from => [ "solaris-common", asm("x86_elf_asm") ], |
7ead0c89 | 55 | cc => "gcc", |
ddf47a10 | 56 | cflags => add_before("-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM"), |
7ead0c89 AP |
57 | debug_cflags => "-O0 -g", |
58 | release_cflags => "-O3 -fomit-frame-pointer", | |
757d1490 | 59 | thread_cflag => "-pthread", |
a01dab94 | 60 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
61 | shared_cflag => "-fPIC", |
62 | shared_ldflag => "-shared", | |
5e1b2353 | 63 | }, |
5e1b2353 | 64 | "solaris64-x86_64-gcc" => { |
7ead0c89 AP |
65 | # -shared -static-libgcc might appear controversial, but modules |
66 | # taken from static libgcc do not have relocations and linking | |
67 | # them into our shared objects doesn't have any negative side | |
68 | # effects. On the contrary, doing so makes it possible to use | |
69 | # gcc shared build with Sun C. Given that gcc generates faster | |
70 | # code [thanks to inline assembler], I would actually recommend | |
71 | # to consider using gcc shared build even with vendor compiler:-) | |
72 | # <appro@fy.chalmers.se> | |
f6739c3d | 73 | inherit_from => [ "solaris-common", asm("x86_64_asm") ], |
7ead0c89 | 74 | cc => "gcc", |
ddf47a10 | 75 | cflags => add_before("-m64 -Wall -DL_ENDIAN"), |
7ead0c89 AP |
76 | debug_cflags => "-O0 -g", |
77 | release_cflags => "-O3", | |
757d1490 | 78 | thread_cflag => "-pthread", |
3e9e810f | 79 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 80 | perlasm_scheme => "elf", |
5e1b2353 RL |
81 | shared_cflag => "-fPIC", |
82 | shared_ldflag => "-m64 -shared -static-libgcc", | |
5e1b2353 RL |
83 | multilib => "/64", |
84 | }, | |
f09e7ca9 RS |
85 | |
86 | #### Solaris x86 with Sun C setups | |
5e1b2353 | 87 | "solaris-x86-cc" => { |
f6739c3d | 88 | inherit_from => [ "solaris-common" ], |
5e1b2353 | 89 | cc => "cc", |
ddf47a10 | 90 | cflags => add_before("-xarch=generic -xstrconst -Xa -DL_ENDIAN"), |
7ead0c89 AP |
91 | debug_cflags => "-g", |
92 | release_cflags => "-xO5 -xregs=frameptr -xdepend -xbuiltin", | |
5e1b2353 | 93 | thread_cflag => "-D_REENTRANT", |
1740c162 RL |
94 | lflags => add("-mt"), |
95 | ex_libs => add("-lpthread"), | |
3e9e810f | 96 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
97 | shared_cflag => "-KPIC", |
98 | shared_ldflag => "-G -dy -z text", | |
5e1b2353 RL |
99 | }, |
100 | "solaris64-x86_64-cc" => { | |
f6739c3d | 101 | inherit_from => [ "solaris-common", asm("x86_64_asm") ], |
5e1b2353 | 102 | cc => "cc", |
ddf47a10 | 103 | cflags => add_before("-xarch=generic64 -xstrconst -Xa -DL_ENDIAN"), |
7ead0c89 AP |
104 | debug_cflags => "-g", |
105 | release_cflags => "-xO5 -xdepend -xbuiltin", | |
5e1b2353 | 106 | thread_cflag => "-D_REENTRANT", |
1740c162 RL |
107 | lflags => add("-mt"), |
108 | ex_libs => add("-lpthread"), | |
3e9e810f | 109 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 110 | perlasm_scheme => "elf", |
5e1b2353 | 111 | shared_cflag => "-KPIC", |
7ead0c89 | 112 | shared_ldflag => "-xarch=generic64 -G -dy -z text", |
5e1b2353 RL |
113 | multilib => "/64", |
114 | }, | |
f09e7ca9 RS |
115 | |
116 | #### SPARC Solaris with GNU C setups | |
5e1b2353 | 117 | "solaris-sparcv7-gcc" => { |
f6739c3d | 118 | inherit_from => [ "solaris-common" ], |
5e1b2353 | 119 | cc => "gcc", |
ddf47a10 | 120 | cflags => add_before("-Wall -DB_ENDIAN -DBN_DIV2W"), |
7ead0c89 AP |
121 | debug_cflags => "-O0 -g", |
122 | release_cflags => "-O3", | |
757d1490 | 123 | thread_cflag => "-pthread", |
3e9e810f | 124 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
125 | shared_cflag => "-fPIC", |
126 | shared_ldflag => "-shared", | |
5e1b2353 | 127 | }, |
5e1b2353 | 128 | "solaris-sparcv8-gcc" => { |
7ead0c89 | 129 | inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ], |
88087414 | 130 | cflags => add_before(" ", "-mcpu=v8"), |
5e1b2353 | 131 | }, |
5e1b2353 | 132 | "solaris-sparcv9-gcc" => { |
7ead0c89 | 133 | # -m32 should be safe to add as long as driver recognizes |
f6739c3d | 134 | # -mcpu=ultrasparc |
7ead0c89 | 135 | inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ], |
88087414 | 136 | cflags => add_before(" ", "-m32 -mcpu=ultrasparc"), |
c2e27310 | 137 | debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -O -g -pedantic -ansi -Wshadow -Wno-long-long -D__EXTENSIONS__", |
5e1b2353 RL |
138 | }, |
139 | "solaris64-sparcv9-gcc" => { | |
7ead0c89 | 140 | inherit_from => [ "solaris-sparcv9-gcc" ], |
f6739c3d | 141 | cflags => sub { my $f=join(" ",@_); $f =~ s/\-m32/-m64/; $f; }, |
3e9e810f | 142 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 | 143 | shared_ldflag => "-m64 -shared", |
5e1b2353 RL |
144 | multilib => "/64", |
145 | }, | |
f09e7ca9 RS |
146 | |
147 | #### SPARC Solaris with Sun C setups | |
148 | # SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2. | |
149 | # SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8 | |
150 | # SC5.0 note: Compiler common patch 107357-01 or later is required! | |
5e1b2353 | 151 | "solaris-sparcv7-cc" => { |
f6739c3d | 152 | inherit_from => [ "solaris-common" ], |
5e1b2353 | 153 | cc => "cc", |
ddf47a10 | 154 | cflags => add_before("-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W"), |
c2e27310 | 155 | debug_cflags => "-g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG", |
7ead0c89 | 156 | release_cflags => "-xO5 -xdepend", |
5e1b2353 | 157 | thread_cflag => "-D_REENTRANT", |
1740c162 RL |
158 | lflags => add("-mt"), |
159 | ex_libs => add("-lpthread"), | |
3e9e810f | 160 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
161 | shared_cflag => "-KPIC", |
162 | shared_ldflag => "-G -dy -z text", | |
5e1b2353 | 163 | }, |
f09e7ca9 | 164 | #### |
5e1b2353 | 165 | "solaris-sparcv8-cc" => { |
7ead0c89 | 166 | inherit_from => [ "solaris-sparcv7-cc", asm("sparcv8_asm") ], |
88087414 | 167 | cflags => add_before(" ", "-xarch=v8"), |
5e1b2353 RL |
168 | }, |
169 | "solaris-sparcv9-cc" => { | |
7ead0c89 | 170 | inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], |
88087414 | 171 | cflags => add_before(" ", "-xarch=v8plus -xtarget=ultra"), |
5e1b2353 RL |
172 | }, |
173 | "solaris64-sparcv9-cc" => { | |
7ead0c89 | 174 | inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], |
88087414 | 175 | cflags => add_before(" ", "-xarch=v9 -xtarget=ultra"), |
3e9e810f | 176 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 | 177 | shared_ldflag => "-xarch=v9 -G -dy -z text", |
5e1b2353 RL |
178 | multilib => "/64", |
179 | }, | |
f09e7ca9 RS |
180 | |
181 | #### IRIX 5.x configs | |
182 | # -mips2 flag is added by ./config when appropriate. | |
5e1b2353 | 183 | "irix-gcc" => { |
7ead0c89 | 184 | inherit_from => [ asm("mips32_asm") ], |
5e1b2353 | 185 | cc => "gcc", |
7ead0c89 AP |
186 | cflags => "-DB_ENDIAN", |
187 | debug_cflags => "-g -O0", | |
188 | release_cflags => "-O3", | |
5e1b2353 | 189 | thread_cflag => "(unknown)", |
3e9e810f | 190 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
191 | perlasm_scheme => "o32", |
192 | dso_scheme => "dlfcn", | |
193 | shared_target => "irix-shared", | |
194 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
195 | }, | |
196 | "irix-cc" => { | |
7ead0c89 | 197 | inherit_from => [ asm("mips32_asm") ], |
5e1b2353 | 198 | cc => "cc", |
7ead0c89 AP |
199 | cflags => "-use_readonly_const -DB_ENDIAN", |
200 | debug_cflags => "-g -O0", | |
201 | release_cflags => "-O2", | |
5e1b2353 | 202 | thread_cflag => "(unknown)", |
3e9e810f | 203 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
204 | perlasm_scheme => "o32", |
205 | dso_scheme => "dlfcn", | |
206 | shared_target => "irix-shared", | |
207 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
208 | }, | |
f09e7ca9 RS |
209 | #### IRIX 6.x configs |
210 | # Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke | |
211 | # './Configure irix-cc -o32' manually. | |
5e1b2353 | 212 | "irix-mips3-gcc" => { |
7ead0c89 | 213 | inherit_from => [ asm("mips64_asm") ], |
5e1b2353 | 214 | cc => "gcc", |
7ead0c89 AP |
215 | cflags => "-mabi=n32 -DB_ENDIAN -DBN_DIV3W", |
216 | debug_cflags => "-g -O0", | |
217 | release_cflags => "-O3", | |
757d1490 | 218 | thread_cflag => "-D_SGI_MP_SOURCE -pthread", |
3e9e810f | 219 | bn_ops => "RC4_CHAR SIXTY_FOUR_BIT", |
5e1b2353 RL |
220 | perlasm_scheme => "n32", |
221 | dso_scheme => "dlfcn", | |
222 | shared_target => "irix-shared", | |
223 | shared_ldflag => "-mabi=n32", | |
224 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
225 | multilib => "32", | |
226 | }, | |
227 | "irix-mips3-cc" => { | |
7ead0c89 | 228 | inherit_from => [ asm("mips64_asm") ], |
5e1b2353 | 229 | cc => "cc", |
7ead0c89 AP |
230 | cflags => "-n32 -mips3 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W", |
231 | debug_cflags => "-g -O0", | |
232 | release_cflags => "-O2", | |
5e1b2353 | 233 | thread_cflag => "-D_SGI_MP_SOURCE", |
1740c162 | 234 | ex_libs => "-lpthread", |
3e9e810f | 235 | bn_ops => "RC4_CHAR SIXTY_FOUR_BIT", |
5e1b2353 RL |
236 | perlasm_scheme => "n32", |
237 | dso_scheme => "dlfcn", | |
238 | shared_target => "irix-shared", | |
239 | shared_ldflag => "-n32", | |
240 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
241 | multilib => "32", | |
242 | }, | |
7ead0c89 | 243 | # N64 ABI builds. |
5e1b2353 | 244 | "irix64-mips4-gcc" => { |
7ead0c89 | 245 | inherit_from => [ asm("mips64_asm") ], |
5e1b2353 | 246 | cc => "gcc", |
7ead0c89 AP |
247 | cflags => "-mabi=64 -mips4 -DB_ENDIAN -DBN_DIV3W", |
248 | debug_cflags => "-g -O0", | |
249 | release_cflags => "-O3", | |
5e1b2353 | 250 | thread_cflag => "-D_SGI_MP_SOURCE", |
3e9e810f | 251 | bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
252 | perlasm_scheme => "64", |
253 | dso_scheme => "dlfcn", | |
254 | shared_target => "irix-shared", | |
255 | shared_ldflag => "-mabi=64", | |
256 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
257 | multilib => "64", | |
258 | }, | |
259 | "irix64-mips4-cc" => { | |
7ead0c89 | 260 | inherit_from => [ asm("mips64_asm") ], |
5e1b2353 | 261 | cc => "cc", |
7ead0c89 AP |
262 | cflags => "-64 -mips4 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W", |
263 | debug_cflags => "-g -O0", | |
264 | release_cflags => "-O2", | |
5e1b2353 | 265 | thread_cflag => "-D_SGI_MP_SOURCE", |
1740c162 | 266 | ex_libs => "-lpthread", |
3e9e810f | 267 | bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
268 | perlasm_scheme => "64", |
269 | dso_scheme => "dlfcn", | |
270 | shared_target => "irix-shared", | |
271 | shared_ldflag => "-64", | |
272 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
273 | multilib => "64", | |
274 | }, | |
f09e7ca9 RS |
275 | |
276 | #### Unified HP-UX ANSI C configs. | |
277 | # Special notes: | |
278 | # - Originally we were optimizing at +O4 level. It should be noted | |
279 | # that the only difference between +O3 and +O4 is global inter- | |
280 | # procedural analysis. As it has to be performed during the link | |
281 | # stage the compiler leaves behind certain pseudo-code in lib*.a | |
282 | # which might be release or even patch level specific. Generating | |
283 | # the machine code for and analyzing the *whole* program appears | |
284 | # to be *extremely* memory demanding while the performance gain is | |
285 | # actually questionable. The situation is intensified by the default | |
286 | # HP-UX data set size limit (infamous 'maxdsiz' tunable) of 64MB | |
287 | # which is way too low for +O4. In other words, doesn't +O3 make | |
288 | # more sense? | |
289 | # - Keep in mind that the HP compiler by default generates code | |
290 | # suitable for execution on the host you're currently compiling at. | |
291 | # If the toolkit is ment to be used on various PA-RISC processors | |
7ead0c89 | 292 | # consider './Configure hpux-parisc-[g]cc +DAportable'. |
f09e7ca9 RS |
293 | # - -DMD32_XARRAY triggers workaround for compiler bug we ran into in |
294 | # 32-bit message digests. (For the moment of this writing) HP C | |
295 | # doesn't seem to "digest" too many local variables (they make "him" | |
296 | # chew forever:-). For more details look-up MD32_XARRAY comment in | |
297 | # crypto/sha/sha_lcl.h. | |
7ead0c89 AP |
298 | # - originally there were 32-bit hpux-parisc2-* targets. They were |
299 | # scrapped, because a) they were not interchangable with other 32-bit | |
300 | # targets; a) when critical 32-bit assembly modules detect if they | |
301 | # are executed on PA-RISC 2.0 and thus adequate performance is | |
302 | # provided. | |
f09e7ca9 | 303 | # <appro@fy.chalmers.se> |
5e1b2353 | 304 | "hpux-parisc-gcc" => { |
5e1b2353 | 305 | cc => "gcc", |
7ead0c89 AP |
306 | cflags => "-DB_ENDIAN -DBN_DIV2W", |
307 | debug_cflags => "-O0 -g", | |
308 | release_cflags => "-O3", | |
757d1490 | 309 | thread_cflag => "-pthread", |
1740c162 | 310 | ex_libs => "-Wl,+s -ldld", |
3e9e810f | 311 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
312 | dso_scheme => "dl", |
313 | shared_target => "hpux-shared", | |
314 | shared_cflag => "-fPIC", | |
315 | shared_ldflag => "-shared", | |
316 | shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
317 | }, | |
318 | "hpux-parisc1_1-gcc" => { | |
7ead0c89 | 319 | inherit_from => [ "hpux-parisc-gcc", asm("parisc11_asm") ], |
5e1b2353 RL |
320 | multilib => "/pa1.1", |
321 | }, | |
5e1b2353 | 322 | "hpux64-parisc2-gcc" => { |
7ead0c89 | 323 | inherit_from => [ asm("parisc20_64_asm") ], |
5e1b2353 | 324 | cc => "gcc", |
7ead0c89 AP |
325 | cflags => "-DB_ENDIAN", |
326 | debug_cflags => "-O0 -g", | |
327 | release_cflags => "-O3", | |
328 | thread_cflag => "-D_REENTRANT", | |
1740c162 | 329 | ex_libs => "-ldl", |
3e9e810f | 330 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", |
5e1b2353 RL |
331 | dso_scheme => "dlfcn", |
332 | shared_target => "hpux-shared", | |
333 | shared_cflag => "-fpic", | |
334 | shared_ldflag => "-shared", | |
335 | shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
336 | multilib => "/pa20_64", | |
337 | }, | |
f09e7ca9 | 338 | |
7ead0c89 AP |
339 | # More attempts at unified 10.X and 11.X targets for HP C compiler. |
340 | # | |
341 | # Chris Ruemmler <ruemmler@cup.hp.com> | |
342 | # Kevin Steves <ks@hp.se> | |
5e1b2353 | 343 | "hpux-parisc-cc" => { |
5e1b2353 | 344 | cc => "cc", |
7ead0c89 AP |
345 | cflags => "+Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY", |
346 | debug_cflags => "+O0 +d -g", | |
347 | release_cflags => "+O3", | |
5e1b2353 | 348 | thread_cflag => "-D_REENTRANT", |
1740c162 | 349 | ex_libs => "-Wl,+s -ldld -lpthread", |
3e9e810f | 350 | bn_ops => "RC4_CHAR", |
5e1b2353 RL |
351 | dso_scheme => "dl", |
352 | shared_target => "hpux-shared", | |
353 | shared_cflag => "+Z", | |
354 | shared_ldflag => "-b", | |
355 | shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
356 | }, | |
357 | "hpux-parisc1_1-cc" => { | |
7ead0c89 | 358 | inherit_from => [ "hpux-parisc-cc", asm("parisc11_asm") ], |
88087414 | 359 | cflags => add_before(" ", "+DA1.1"), |
5e1b2353 RL |
360 | multilib => "/pa1.1", |
361 | }, | |
5e1b2353 | 362 | "hpux64-parisc2-cc" => { |
7ead0c89 | 363 | inherit_from => [ asm("parisc20_64_asm") ], |
5e1b2353 | 364 | cc => "cc", |
7ead0c89 AP |
365 | cflags => "+DD64 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY", |
366 | debug_cflags => "+O0 +d -g", | |
367 | release_cflags => "+O3", | |
368 | thread_cflag => "-D_REENTRANT", | |
1740c162 | 369 | ex_libs => "-ldl -lpthread", |
3e9e810f | 370 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", |
5e1b2353 RL |
371 | dso_scheme => "dlfcn", |
372 | shared_target => "hpux-shared", | |
373 | shared_cflag => "+Z", | |
374 | shared_ldflag => "+DD64 -b", | |
375 | shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
376 | multilib => "/pa20_64", | |
377 | }, | |
f09e7ca9 | 378 | |
7ead0c89 | 379 | # HP/UX IA-64 targets |
5e1b2353 | 380 | "hpux-ia64-cc" => { |
7ead0c89 | 381 | inherit_from => [ asm("ia64_asm") ], |
5e1b2353 | 382 | cc => "cc", |
7ead0c89 AP |
383 | cflags => "-Ae +DD32 +Olit=all -z -DB_ENDIAN", |
384 | debug_cflags => "+O0 +d -g", | |
385 | release_cflags => "+O2", | |
386 | thread_cflag => "-D_REENTRANT", | |
1740c162 | 387 | ex_libs => "-ldl -lpthread", |
3e9e810f | 388 | bn_ops => "SIXTY_FOUR_BIT", |
5e1b2353 RL |
389 | dso_scheme => "dlfcn", |
390 | shared_target => "hpux-shared", | |
391 | shared_cflag => "+Z", | |
392 | shared_ldflag => "+DD32 -b", | |
393 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
394 | multilib => "/hpux32", | |
395 | }, | |
7ead0c89 AP |
396 | # Frank Geurts <frank.geurts@nl.abnamro.com> has patiently assisted |
397 | # with debugging of the following config. | |
5e1b2353 | 398 | "hpux64-ia64-cc" => { |
7ead0c89 | 399 | inherit_from => [ asm("ia64_asm") ], |
5e1b2353 | 400 | cc => "cc", |
7ead0c89 AP |
401 | cflags => "-Ae +DD64 +Olit=all -z -DB_ENDIAN", |
402 | debug_cflags => "+O0 +d -g", | |
403 | release_cflags => "+O3", | |
404 | thread_cflag => "-D_REENTRANT", | |
1740c162 | 405 | ex_libs => "-ldl -lpthread", |
3e9e810f | 406 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
407 | dso_scheme => "dlfcn", |
408 | shared_target => "hpux-shared", | |
409 | shared_cflag => "+Z", | |
410 | shared_ldflag => "+DD64 -b", | |
411 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
412 | multilib => "/hpux64", | |
413 | }, | |
7ead0c89 | 414 | # GCC builds... |
5e1b2353 | 415 | "hpux-ia64-gcc" => { |
7ead0c89 | 416 | inherit_from => [ asm("ia64_asm") ], |
5e1b2353 | 417 | cc => "gcc", |
7ead0c89 AP |
418 | cflags => "-DB_ENDIAN", |
419 | debug_cflags => "-O0 -g", | |
420 | release_cflags => "-O3", | |
757d1490 | 421 | thread_cflag => "-pthread", |
1740c162 | 422 | ex_libs => "-ldl", |
3e9e810f | 423 | bn_ops => "SIXTY_FOUR_BIT", |
5e1b2353 RL |
424 | dso_scheme => "dlfcn", |
425 | shared_target => "hpux-shared", | |
426 | shared_cflag => "-fpic", | |
427 | shared_ldflag => "-shared", | |
428 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
429 | multilib => "/hpux32", | |
430 | }, | |
431 | "hpux64-ia64-gcc" => { | |
7ead0c89 | 432 | inherit_from => [ asm("ia64_asm") ], |
5e1b2353 | 433 | cc => "gcc", |
7ead0c89 AP |
434 | cflags => "-mlp64 -DB_ENDIAN", |
435 | debug_cflags => "-O0 -g", | |
436 | release_cflags => "-O3", | |
757d1490 | 437 | thread_cflag => "-pthread", |
1740c162 | 438 | ex_libs => "-ldl", |
3e9e810f | 439 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
440 | dso_scheme => "dlfcn", |
441 | shared_target => "hpux-shared", | |
442 | shared_cflag => "-fpic", | |
443 | shared_ldflag => "-mlp64 -shared", | |
444 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
445 | multilib => "/hpux64", | |
446 | }, | |
f09e7ca9 | 447 | |
f09e7ca9 | 448 | #### HP MPE/iX http://jazz.external.hp.com/src/openssl/ |
5e1b2353 RL |
449 | "MPE/iX-gcc" => { |
450 | cc => "gcc", | |
451 | cflags => "-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB", | |
452 | thread_cflag => "(unknown)", | |
453 | sys_id => "MPE", | |
1740c162 | 454 | ex_libs => "-L/SYSLOG/PUB -lsyslog -lsocket -lcurses", |
3e9e810f | 455 | bn_ops => "BN_LLONG", |
5e1b2353 | 456 | }, |
f09e7ca9 | 457 | |
7ead0c89 | 458 | #### DEC Alpha OSF/1/Tru64 targets. |
5e1b2353 | 459 | "osf1-alpha-gcc" => { |
7ead0c89 | 460 | inherit_from => [ asm("alpha_asm") ], |
5e1b2353 RL |
461 | cc => "gcc", |
462 | cflags => "-O3", | |
463 | thread_cflag => "(unknown)", | |
3e9e810f | 464 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
465 | dso_scheme => "dlfcn", |
466 | shared_target => "alpha-osf1-shared", | |
467 | shared_extension => ".so", | |
468 | }, | |
469 | "osf1-alpha-cc" => { | |
7ead0c89 | 470 | inherit_from => [ asm("alpha_asm") ], |
5e1b2353 RL |
471 | cc => "cc", |
472 | cflags => "-std1 -tune host -O4 -readonly_strings", | |
473 | thread_cflag => "(unknown)", | |
3e9e810f | 474 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
475 | dso_scheme => "dlfcn", |
476 | shared_target => "alpha-osf1-shared", | |
477 | shared_extension => ".so", | |
478 | }, | |
479 | "tru64-alpha-cc" => { | |
7ead0c89 | 480 | inherit_from => [ asm("alpha_asm") ], |
5e1b2353 RL |
481 | cc => "cc", |
482 | cflags => "-std1 -tune host -fast -readonly_strings", | |
483 | thread_cflag => "-pthread", | |
3e9e810f | 484 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
485 | dso_scheme => "dlfcn", |
486 | shared_target => "alpha-osf1-shared", | |
487 | shared_ldflag => "-msym", | |
488 | shared_extension => ".so", | |
489 | }, | |
f09e7ca9 RS |
490 | |
491 | #### | |
492 | #### Variety of LINUX:-) | |
493 | #### | |
494 | # *-generic* is endian-neutral target, but ./config is free to | |
495 | # throw in -D[BL]_ENDIAN, whichever appropriate... | |
5e1b2353 | 496 | "linux-generic32" => { |
5e1b2353 | 497 | cc => "gcc", |
79100440 | 498 | cflags => "-Wall", |
c2e27310 | 499 | debug_cflags => "-O0 -g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG", |
7ead0c89 | 500 | release_cflags => "-O3", |
757d1490 | 501 | thread_cflag => "-pthread", |
1740c162 | 502 | ex_libs => "-ldl", |
3e9e810f | 503 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
504 | dso_scheme => "dlfcn", |
505 | shared_target => "linux-shared", | |
506 | shared_cflag => "-fPIC", | |
507 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
508 | }, | |
7ead0c89 AP |
509 | "linux-generic64" => { |
510 | inherit_from => [ "linux-generic32" ], | |
3e9e810f | 511 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", |
7ead0c89 AP |
512 | }, |
513 | ||
5e1b2353 | 514 | "linux-ppc" => { |
7ead0c89 | 515 | inherit_from => [ "linux-generic32", asm("ppc32_asm") ], |
5e1b2353 | 516 | perlasm_scheme => "linux32", |
7ead0c89 AP |
517 | }, |
518 | "linux-ppc64" => { | |
519 | inherit_from => [ "linux-generic64", asm("ppc64_asm") ], | |
520 | cflags => "-m64 -Wall -DB_ENDIAN", | |
521 | perlasm_scheme => "linux64", | |
522 | shared_ldflag => "-m64", | |
523 | multilib => "64", | |
524 | }, | |
525 | "linux-ppc64le" => { | |
526 | inherit_from => [ "linux-generic64", asm("ppc64_asm") ], | |
527 | cflags => "-m64 -Wall -DL_ENDIAN", | |
528 | perlasm_scheme => "linux64le", | |
529 | shared_ldflag => "-m64", | |
5e1b2353 | 530 | }, |
f09e7ca9 | 531 | |
5e1b2353 | 532 | "linux-armv4" => { |
7ead0c89 AP |
533 | ################################################################ |
534 | # Note that -march is not among compiler options in linux-armv4 | |
535 | # target description. Not specifying one is intentional to give | |
536 | # you choice to: | |
537 | # | |
538 | # a) rely on your compiler default by not specifying one; | |
539 | # b) specify your target platform explicitly for optimal | |
540 | # performance, e.g. -march=armv6 or -march=armv7-a; | |
541 | # c) build "universal" binary that targets *range* of platforms | |
542 | # by specifying minimum and maximum supported architecture; | |
543 | # | |
544 | # As for c) option. It actually makes no sense to specify | |
545 | # maximum to be less than ARMv7, because it's the least | |
546 | # requirement for run-time switch between platform-specific | |
547 | # code paths. And without run-time switch performance would be | |
548 | # equivalent to one for minimum. Secondly, there are some | |
549 | # natural limitations that you'd have to accept and respect. | |
550 | # Most notably you can *not* build "universal" binary for | |
551 | # big-endian platform. This is because ARMv7 processor always | |
552 | # picks instructions in little-endian order. Another similar | |
553 | # limitation is that -mthumb can't "cross" -march=armv6t2 | |
554 | # boundary, because that's where it became Thumb-2. Well, this | |
555 | # limitation is a bit artificial, because it's not really | |
556 | # impossible, but it's deemed too tricky to support. And of | |
557 | # course you have to be sure that your binutils are actually | |
558 | # up to the task of handling maximum target platform. With all | |
559 | # this in mind here is an example of how to configure | |
560 | # "universal" build: | |
561 | # | |
562 | # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 | |
563 | # | |
564 | inherit_from => [ "linux-generic32", asm("armv4_asm") ], | |
565 | perlasm_scheme => "linux32", | |
5e1b2353 RL |
566 | }, |
567 | "linux-aarch64" => { | |
7ead0c89 | 568 | inherit_from => [ "linux-generic64", asm("aarch64_asm") ], |
5e1b2353 | 569 | perlasm_scheme => "linux64", |
5e1b2353 | 570 | }, |
a93d3e06 AP |
571 | "linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32 |
572 | inherit_from => [ "linux-generic32", asm("aarch64_asm") ], | |
a2c1dedc | 573 | cflags => "-mabi=ilp32 -Wall", |
3e9e810f | 574 | bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", |
a93d3e06 AP |
575 | perlasm_scheme => "linux64", |
576 | shared_ldflag => "-mabi=ilp32", | |
577 | }, | |
7ead0c89 | 578 | |
5e1b2353 | 579 | "linux-mips32" => { |
7ead0c89 AP |
580 | # Configure script adds minimally required -march for assembly |
581 | # support, if no -march was specified at command line. | |
582 | inherit_from => [ "linux-generic32", asm("mips32_asm") ], | |
583 | cflags => "-mabi=32 -Wall -DBN_DIV3W", | |
5e1b2353 | 584 | perlasm_scheme => "o32", |
7ead0c89 | 585 | shared_ldflag => "-mabi=32", |
5e1b2353 | 586 | }, |
7ead0c89 AP |
587 | # mips32 and mips64 below refer to contemporary MIPS Architecture |
588 | # specifications, MIPS32 and MIPS64, rather than to kernel bitness. | |
5e1b2353 | 589 | "linux-mips64" => { |
7ead0c89 AP |
590 | inherit_from => [ "linux-generic32", asm("mips64_asm") ], |
591 | cflags => "-mabi=n32 -Wall -DBN_DIV3W", | |
3e9e810f | 592 | bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", |
5e1b2353 | 593 | perlasm_scheme => "n32", |
5e1b2353 | 594 | shared_ldflag => "-mabi=n32", |
5e1b2353 RL |
595 | multilib => "32", |
596 | }, | |
597 | "linux64-mips64" => { | |
7ead0c89 | 598 | inherit_from => [ "linux-generic64", asm("mips64_asm") ], |
5e1b2353 | 599 | cflags => "-mabi=64 -O3 -Wall -DBN_DIV3W", |
5e1b2353 | 600 | perlasm_scheme => "64", |
5e1b2353 | 601 | shared_ldflag => "-mabi=64", |
5e1b2353 RL |
602 | multilib => "64", |
603 | }, | |
7ead0c89 AP |
604 | |
605 | #### IA-32 targets... | |
5e1b2353 | 606 | "linux-elf" => { |
7ead0c89 | 607 | inherit_from => [ "linux-generic32", asm("x86_elf_asm") ], |
5e1b2353 | 608 | cc => "gcc", |
7ead0c89 | 609 | cflags => "-march=i486 -DL_ENDIAN -Wall", |
c2e27310 | 610 | debug_cflags => "-O0 -g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG", |
79100440 | 611 | release_cflags => "-O3 -fomit-frame-pointer", |
1740c162 | 612 | debug_ex_libs => "-lefence", |
a01dab94 | 613 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
614 | }, |
615 | "linux-aout" => { | |
7ead0c89 | 616 | inherit_from => [ asm("x86_asm") ], |
5e1b2353 | 617 | cc => "gcc", |
7ead0c89 AP |
618 | cflags => "-DL_ENDIAN -march=i486 -Wall", |
619 | debug_cflags => "-O0 -g", | |
620 | release_cflags => "-O3 -fomit-frame-pointer", | |
5e1b2353 | 621 | thread_cflag => "(unknown)", |
a01dab94 | 622 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
623 | perlasm_scheme => "a.out", |
624 | }, | |
7ead0c89 | 625 | |
5e1b2353 | 626 | "linux-x86_64" => { |
7ead0c89 | 627 | inherit_from => [ "linux-generic64", asm("x86_64_asm") ], |
79100440 | 628 | cflags => "-m64 -DL_ENDIAN -Wall", |
3e9e810f | 629 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 630 | perlasm_scheme => "elf", |
7ead0c89 | 631 | shared_ldflag => "-m64", |
5e1b2353 RL |
632 | multilib => "64", |
633 | }, | |
7ead0c89 AP |
634 | "linux-x86_64-clang" => { |
635 | inherit_from => [ "linux-x86_64" ], | |
636 | cc => "clang", | |
190c8c60 | 637 | cflags => "-m64 -DL_ENDIAN -Wall -Wextra -Qunused-arguments", |
7ead0c89 | 638 | }, |
5e1b2353 | 639 | "linux-x32" => { |
7ead0c89 AP |
640 | inherit_from => [ "linux-generic32", asm("x86_64_asm") ], |
641 | cflags => "-mx32 -DL_ENDIAN -Wall", | |
3e9e810f | 642 | bn_ops => "SIXTY_FOUR_BIT", |
5e1b2353 | 643 | perlasm_scheme => "elf", |
5e1b2353 | 644 | shared_ldflag => "-mx32", |
5e1b2353 RL |
645 | multilib => "x32", |
646 | }, | |
7ead0c89 AP |
647 | |
648 | "linux-ia64" => { | |
649 | inherit_from => [ "linux-generic64", asm("ia64_asm") ], | |
3e9e810f | 650 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
7ead0c89 AP |
651 | }, |
652 | ||
5e1b2353 | 653 | "linux64-s390x" => { |
7ead0c89 AP |
654 | inherit_from => [ "linux-generic64", asm("s390x_asm") ], |
655 | cflags => "-m64 -Wall -DB_ENDIAN", | |
5e1b2353 | 656 | perlasm_scheme => "64", |
5e1b2353 | 657 | shared_ldflag => "-m64", |
5e1b2353 RL |
658 | multilib => "64", |
659 | }, | |
5e1b2353 | 660 | "linux32-s390x" => { |
7ead0c89 AP |
661 | #### So called "highgprs" target for z/Architecture CPUs |
662 | # "Highgprs" is kernel feature first implemented in Linux | |
663 | # 2.6.32, see /proc/cpuinfo. The idea is to preserve most | |
664 | # significant bits of general purpose registers not only | |
665 | # upon 32-bit process context switch, but even on | |
666 | # asynchronous signal delivery to such process. This makes | |
667 | # it possible to deploy 64-bit instructions even in legacy | |
668 | # application context and achieve better [or should we say | |
669 | # adequate] performance. The build is binary compatible with | |
670 | # linux-generic32, and the idea is to be able to install the | |
671 | # resulting libcrypto.so alongside generic one, e.g. as | |
672 | # /lib/highgprs/libcrypto.so.x.y, for ldconfig and run-time | |
673 | # linker to autodiscover. Unfortunately it doesn't work just | |
674 | # yet, because of couple of bugs in glibc | |
675 | # sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1... | |
676 | # | |
677 | inherit_from => [ "linux-generic32", asm("s390x_asm") ], | |
678 | cflags => "-m31 -Wall -Wa,-mzarch -DB_ENDIAN", | |
679 | bn_obj => sub { my $r=join(" ",@_); $r=~s/bn\-s390x/bn_asm/; $r; }, | |
5e1b2353 | 680 | perlasm_scheme => "31", |
5e1b2353 | 681 | shared_ldflag => "-m31", |
5e1b2353 RL |
682 | multilib => "/highgprs", |
683 | }, | |
7ead0c89 AP |
684 | |
685 | #### SPARC Linux setups | |
686 | # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has | |
687 | # patiently assisted with debugging of following two configs. | |
5e1b2353 | 688 | "linux-sparcv8" => { |
7ead0c89 | 689 | inherit_from => [ "linux-generic32", asm("sparcv8_asm") ], |
f8a35ccc | 690 | cflags => "-mcpu=v8 -Wall -DB_ENDIAN -DBN_DIV2W", |
5e1b2353 | 691 | }, |
5e1b2353 | 692 | "linux-sparcv9" => { |
7ead0c89 AP |
693 | # it's a real mess with -mcpu=ultrasparc option under Linux, |
694 | # but -Wa,-Av8plus should do the trick no matter what. | |
695 | inherit_from => [ "linux-generic32", asm("sparcv9_asm") ], | |
696 | cflags => "-m32 -mcpu=ultrasparc -Wall -Wa,-Av8plus -DB_ENDIAN -DBN_DIV2W", | |
5e1b2353 | 697 | shared_ldflag => "-m32", |
5e1b2353 | 698 | }, |
5e1b2353 | 699 | "linux64-sparcv9" => { |
7ead0c89 AP |
700 | # GCC 3.1 is a requirement |
701 | inherit_from => [ "linux-generic64", asm("sparcv9_asm") ], | |
702 | cflags => "-m64 -mcpu=ultrasparc -Wall -DB_ENDIAN", | |
3e9e810f | 703 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 | 704 | shared_ldflag => "-m64", |
5e1b2353 RL |
705 | multilib => "64", |
706 | }, | |
7ead0c89 | 707 | |
5e1b2353 | 708 | "linux-alpha-gcc" => { |
7ead0c89 AP |
709 | inherit_from => [ "linux-generic64", asm("alpha_asm") ], |
710 | cflags => "-DL_ENDIAN", | |
3e9e810f | 711 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 712 | }, |
5e1b2353 | 713 | "linux-c64xplus" => { |
7ead0c89 | 714 | # TI_CGT_C6000_7.3.x is a requirement |
5e1b2353 RL |
715 | cc => "cl6x", |
716 | cflags => "--linux -ea=.s -eo=.o -mv6400+ -o2 -ox -ms -pden -DOPENSSL_SMALL_FOOTPRINT", | |
717 | thread_cflag => "-D_REENTRANT", | |
718 | bn_ops => "BN_LLONG", | |
719 | cpuid_obj => "c64xpluscpuid.o", | |
720 | bn_obj => "bn-c64xplus.o c64xplus-gf2m.o", | |
721 | aes_obj => "aes-c64xplus.o aes_cbc.o aes_ctr.o", | |
722 | sha1_obj => "sha1-c64xplus.o sha256-c64xplus.o sha512-c64xplus.o", | |
723 | rc4_obj => "rc4-c64xplus.o", | |
724 | modes_obj => "ghash-c64xplus.o", | |
725 | perlasm_scheme => "void", | |
726 | dso_scheme => "dlfcn", | |
727 | shared_target => "linux-shared", | |
728 | shared_cflag => "--pic", | |
729 | shared_ldflag => "-z --sysv --shared", | |
730 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
731 | ranlib => "true", | |
732 | }, | |
f09e7ca9 | 733 | |
7ead0c89 | 734 | #### Android: linux-* but without pointers to headers and libs. |
449e3f26 AP |
735 | # |
736 | # It takes pair of prior-set environment variables to make it work: | |
737 | # | |
738 | # CROSS_SYSROOT=/some/where/android-ndk-<ver>/platforms/android-<apiver>/arch-< | |
739 | # CROSS_COMPILE=<prefix> | |
740 | # | |
741 | # As well as PATH adjusted to cover ${CROSS_COMPILE}gcc and company. | |
742 | # For example to compile for ICS and ARM with NDK 10d, you'd: | |
743 | # | |
744 | # ANDROID_NDK=/some/where/android-ndk-10d | |
745 | # CROSS_SYSROOT=$ANDROID_NDK/platforms/android-14/arch-arm | |
746 | # CROSS_COMPILE=arm-linux-adroideabi- | |
747 | # PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/ | |
748 | # | |
5e1b2353 | 749 | "android" => { |
7ead0c89 | 750 | inherit_from => [ "linux-generic32" ], |
449e3f26 AP |
751 | # Special note about unconditional -fPIC and -pie. The underlying |
752 | # reason is that Lollipop refuses to run non-PIE. But what about | |
753 | # older systems and NDKs? -fPIC was never problem, so the only | |
754 | # concern if -pie. Older toolchains, e.g. r4, appear to handle it | |
755 | # and binaries turn mostly functional. "Mostly" means that oldest | |
756 | # Androids, such as Froyo, fail to handle executable, but newer | |
757 | # systems are perfectly capable of executing binaries targeting | |
758 | # Froyo. Keep in mind that in the nutshell Android builds are | |
759 | # about JNI, i.e. shared libraries, not applications. | |
760 | cflags => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall", | |
7ead0c89 | 761 | debug_cflags => "-O0 -g", |
1740c162 RL |
762 | lflags => "-pie", |
763 | ex_libs => "-ldl", | |
449e3f26 | 764 | shared_cflag => "", |
5e1b2353 RL |
765 | }, |
766 | "android-x86" => { | |
7ead0c89 AP |
767 | inherit_from => [ "android", asm("x86_asm") ], |
768 | release_cflags => "-O3 -fomit-frame-pointer", | |
a01dab94 | 769 | bn_ops => "BN_LLONG", |
7ead0c89 | 770 | perlasm_scheme => "android", |
5e1b2353 | 771 | }, |
449e3f26 AP |
772 | ################################################################ |
773 | # Contemporary Android applications can provide multiple JNI | |
774 | # providers in .apk, targeting multiple architectures. Among | |
775 | # them there is "place" for two ARM flavours: generic eabi and | |
776 | # armv7-a/hard-float. However, it should be noted that OpenSSL's | |
777 | # ability to engage NEON is not constrained by ABI choice, nor | |
778 | # is your ability to call OpenSSL from your application code | |
779 | # compiled with floating-point ABI other than default 'soft'. | |
780 | # [Latter thanks to __attribute__((pcs("aapcs"))) declaration.] | |
781 | # This means that choice of ARM libraries you provide in .apk | |
782 | # is driven by application needs. For example if application | |
783 | # itself benefits from NEON or is floating-point intensive, then | |
784 | # it might be appropriate to provide both libraries. Otherwise | |
785 | # just generic eabi would do. But in latter case it would be | |
786 | # appropriate to | |
787 | # | |
788 | # ./Configure android-armeabi -D__ARM_MAX_ARCH__=8 | |
789 | # | |
790 | # in order to build "universal" binary and allow OpenSSL take | |
791 | # advantage of NEON when it's available. | |
792 | # | |
793 | "android-armeabi" => { | |
7ead0c89 | 794 | inherit_from => [ "android", asm("armv4_asm") ], |
449e3f26 AP |
795 | }, |
796 | "android-armv7" => { | |
797 | inherit_from => [ "android-armeabi" ], | |
88087414 | 798 | cflags => add_before(" ", "-march=armv7-a"), |
5e1b2353 RL |
799 | }, |
800 | "android-mips" => { | |
7ead0c89 | 801 | inherit_from => [ "android", asm("mips32_asm") ], |
5e1b2353 | 802 | perlasm_scheme => "o32", |
5e1b2353 | 803 | }, |
f09e7ca9 | 804 | |
5a3d915d AP |
805 | "android64" => { |
806 | inherit_from => [ "linux-generic64" ], | |
807 | cflags => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall", | |
808 | debug_cflags => "-O0 -g", | |
1740c162 RL |
809 | lflags => "-pie", |
810 | ex_libs => "-ldl", | |
5a3d915d AP |
811 | shared_cflag => "", |
812 | }, | |
813 | "android64-aarch64" => { | |
814 | inherit_from => [ "android64", asm("aarch64_asm") ], | |
815 | perlasm_scheme => "linux64", | |
816 | }, | |
817 | ||
1818572d | 818 | #### *BSD |
5e1b2353 | 819 | "BSD-generic32" => { |
1818572d AP |
820 | # As for thread_cflag. Idea is to maintain "collective" set of |
821 | # flags, which would cover all BSD flavors. -pthread applies | |
822 | # to them all, but is treated differently. OpenBSD expands is | |
823 | # as -D_POSIX_THREAD -lc_r, which is sufficient. FreeBSD 4.x | |
824 | # expands it as -lc_r, which has to be accompanied by explicit | |
825 | # -D_THREAD_SAFE and sometimes -D_REENTRANT. FreeBSD 5.x | |
826 | # expands it as -lc_r, which seems to be sufficient? | |
d237a273 | 827 | cc => "cc", |
7ead0c89 AP |
828 | cflags => "-Wall", |
829 | debug_cflags => "-O0 -g", | |
830 | release_cflags => "-O3", | |
1818572d | 831 | thread_cflag => "-pthread -D_THREAD_SAFE -D_REENTRANT", |
3e9e810f | 832 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
833 | dso_scheme => "dlfcn", |
834 | shared_target => "bsd-gcc-shared", | |
835 | shared_cflag => "-fPIC", | |
836 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
837 | }, | |
7ead0c89 AP |
838 | "BSD-generic64" => { |
839 | inherit_from => [ "BSD-generic32" ], | |
3e9e810f | 840 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 841 | }, |
7ead0c89 AP |
842 | |
843 | "BSD-x86" => { | |
844 | inherit_from => [ "BSD-generic32", asm("x86_asm") ], | |
79100440 | 845 | cflags => "-DL_ENDIAN -Wall", |
79100440 | 846 | release_cflags => "-O3 -fomit-frame-pointer", |
a01dab94 | 847 | bn_ops => "BN_LLONG", |
5e1b2353 | 848 | shared_target => "bsd-shared", |
7ead0c89 | 849 | perlasm_scheme => "a.out", |
5e1b2353 | 850 | }, |
7ead0c89 AP |
851 | "BSD-x86-elf" => { |
852 | inherit_from => [ "BSD-x86" ], | |
853 | perlasm_scheme => "elf", | |
5e1b2353 | 854 | }, |
f09e7ca9 | 855 | |
7ead0c89 AP |
856 | "BSD-sparcv8" => { |
857 | inherit_from => [ "BSD-generic32", asm("sparcv8_asm") ], | |
f8a35ccc | 858 | cflags => "-mcpu=v8 -Wall -DB_ENDIAN", |
5e1b2353 | 859 | }, |
5e1b2353 | 860 | "BSD-sparc64" => { |
7ead0c89 AP |
861 | # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it |
862 | # simply *happens* to work around a compiler bug in gcc 3.3.3, | |
863 | # triggered by RIPEMD160 code. | |
864 | inherit_from => [ "BSD-generic64", asm("sparcv9_asm") ], | |
865 | cflags => "-DB_ENDIAN -DMD32_REG_T=int -Wall", | |
3e9e810f | 866 | bn_ops => "BN_LLONG", |
5e1b2353 | 867 | }, |
7ead0c89 | 868 | |
5e1b2353 | 869 | "BSD-ia64" => { |
7ead0c89 AP |
870 | inherit_from => [ "BSD-generic64", asm("ia64_asm") ], |
871 | cflags => "-DL_ENDIAN -Wall", | |
3e9e810f | 872 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 873 | }, |
7ead0c89 | 874 | |
5e1b2353 | 875 | "BSD-x86_64" => { |
7ead0c89 AP |
876 | inherit_from => [ "BSD-generic64", asm("x86_64_asm") ], |
877 | cflags => "-DL_ENDIAN -Wall", | |
3e9e810f | 878 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 879 | perlasm_scheme => "elf", |
5e1b2353 | 880 | }, |
f09e7ca9 | 881 | |
5e1b2353 | 882 | "bsdi-elf-gcc" => { |
7ead0c89 | 883 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
884 | cc => "gcc", |
885 | cflags => "-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall", | |
886 | thread_cflag => "(unknown)", | |
1740c162 | 887 | ex_libs => "-ldl", |
a01dab94 | 888 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
889 | dso_scheme => "dlfcn", |
890 | shared_target => "bsd-gcc-shared", | |
891 | shared_cflag => "-fPIC", | |
892 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
893 | }, | |
f09e7ca9 | 894 | |
5e1b2353 RL |
895 | "nextstep" => { |
896 | cc => "cc", | |
897 | cflags => "-O -Wall", | |
898 | unistd => "<libc.h>", | |
899 | thread_cflag => "(unknown)", | |
a01dab94 | 900 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
901 | }, |
902 | "nextstep3.3" => { | |
903 | cc => "cc", | |
904 | cflags => "-O3 -Wall", | |
905 | unistd => "<libc.h>", | |
906 | thread_cflag => "(unknown)", | |
a01dab94 | 907 | bn_ops => "BN_LLONG", |
5e1b2353 | 908 | }, |
f09e7ca9 RS |
909 | |
910 | # QNX | |
5e1b2353 RL |
911 | "qnx4" => { |
912 | cc => "cc", | |
913 | cflags => "-DL_ENDIAN -DTERMIO", | |
914 | thread_cflag => "(unknown)", | |
5e1b2353 RL |
915 | }, |
916 | "QNX6" => { | |
5e1b2353 | 917 | cc => "gcc", |
1740c162 | 918 | ex_libs => "-lsocket", |
5e1b2353 RL |
919 | dso_scheme => "dlfcn", |
920 | shared_target => "bsd-gcc-shared", | |
921 | shared_cflag => "-fPIC", | |
922 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
923 | }, | |
924 | "QNX6-i386" => { | |
7ead0c89 | 925 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
926 | cc => "gcc", |
927 | cflags => "-DL_ENDIAN -O2 -Wall", | |
1740c162 | 928 | ex_libs => "-lsocket", |
5e1b2353 RL |
929 | dso_scheme => "dlfcn", |
930 | shared_target => "bsd-gcc-shared", | |
931 | shared_cflag => "-fPIC", | |
932 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
933 | }, | |
f09e7ca9 RS |
934 | |
935 | #### SCO/Caldera targets. | |
936 | # | |
937 | # Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc. | |
938 | # Now we only have blended unixware-* as it's the only one used by ./config. | |
939 | # If you want to optimize for particular microarchitecture, bypass ./config | |
940 | # and './Configure unixware-7 -Kpentium_pro' or whatever appropriate. | |
941 | # Note that not all targets include assembler support. Mostly because of | |
942 | # lack of motivation to support out-of-date platforms with out-of-date | |
943 | # compiler drivers and assemblers. Tim Rice <tim@multitalents.net> has | |
944 | # patiently assisted to debug most of it. | |
945 | # | |
946 | # UnixWare 2.0x fails destest with -O. | |
5e1b2353 RL |
947 | "unixware-2.0" => { |
948 | cc => "cc", | |
949 | cflags => "-DFILIO_H -DNO_STRINGS_H", | |
950 | thread_cflag => "-Kthread", | |
1740c162 | 951 | ex_libs => "-lsocket -lnsl -lresolv -lx", |
5e1b2353 RL |
952 | }, |
953 | "unixware-2.1" => { | |
954 | cc => "cc", | |
955 | cflags => "-O -DFILIO_H", | |
956 | thread_cflag => "-Kthread", | |
1740c162 | 957 | ex_libs => "-lsocket -lnsl -lresolv -lx", |
5e1b2353 RL |
958 | }, |
959 | "unixware-7" => { | |
7ead0c89 | 960 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
961 | cc => "cc", |
962 | cflags => "-O -DFILIO_H -Kalloca", | |
963 | thread_cflag => "-Kthread", | |
1740c162 | 964 | ex_libs => "-lsocket -lnsl", |
a01dab94 | 965 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
966 | perlasm_scheme => "elf-1", |
967 | dso_scheme => "dlfcn", | |
968 | shared_target => "svr5-shared", | |
969 | shared_cflag => "-Kpic", | |
970 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
971 | }, | |
972 | "unixware-7-gcc" => { | |
7ead0c89 | 973 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
974 | cc => "gcc", |
975 | cflags => "-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=pentium -Wall", | |
976 | thread_cflag => "-D_REENTRANT", | |
1740c162 | 977 | ex_libs => "-lsocket -lnsl", |
a01dab94 | 978 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
979 | perlasm_scheme => "elf-1", |
980 | dso_scheme => "dlfcn", | |
981 | shared_target => "gnu-shared", | |
982 | shared_cflag => "-fPIC", | |
983 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
984 | }, | |
f09e7ca9 | 985 | # SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc. |
5e1b2353 | 986 | "sco5-cc" => { |
7ead0c89 | 987 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
988 | cc => "cc", |
989 | cflags => "-belf", | |
990 | thread_cflag => "(unknown)", | |
1740c162 | 991 | ex_libs => "-lsocket -lnsl", |
5e1b2353 RL |
992 | perlasm_scheme => "elf-1", |
993 | dso_scheme => "dlfcn", | |
994 | shared_target => "svr3-shared", | |
995 | shared_cflag => "-Kpic", | |
996 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
997 | }, | |
998 | "sco5-gcc" => { | |
7ead0c89 | 999 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
1000 | cc => "gcc", |
1001 | cflags => "-O3 -fomit-frame-pointer", | |
1002 | thread_cflag => "(unknown)", | |
1740c162 | 1003 | ex_libs => "-lsocket -lnsl", |
a01dab94 | 1004 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
1005 | perlasm_scheme => "elf-1", |
1006 | dso_scheme => "dlfcn", | |
1007 | shared_target => "svr3-shared", | |
1008 | shared_cflag => "-fPIC", | |
1009 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1010 | }, | |
f09e7ca9 RS |
1011 | |
1012 | #### IBM's AIX. | |
5e1b2353 | 1013 | "aix-gcc" => { |
7ead0c89 | 1014 | inherit_from => [ asm("ppc32_asm") ], |
5e1b2353 | 1015 | cc => "gcc", |
7ead0c89 AP |
1016 | cflags => "-DB_ENDIAN", |
1017 | debug_cflags => "-O0 -g", | |
1018 | release_cflags => "-O", | |
5e1b2353 RL |
1019 | thread_cflag => "-pthread", |
1020 | sys_id => "AIX", | |
1021 | bn_ops => "BN_LLONG RC4_CHAR", | |
1022 | perlasm_scheme => "aix32", | |
1023 | dso_scheme => "dlfcn", | |
1024 | shared_target => "aix-shared", | |
1025 | shared_ldflag => "-shared -Wl,-G", | |
1026 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1027 | arflags => "-X32", | |
1028 | }, | |
1029 | "aix64-gcc" => { | |
7ead0c89 | 1030 | inherit_from => [ asm("ppc64_asm") ], |
5e1b2353 | 1031 | cc => "gcc", |
7ead0c89 AP |
1032 | cflags => "-maix64 -DB_ENDIAN", |
1033 | debug_cflags => "-O0 -g", | |
1034 | release_cflags => "-O", | |
5e1b2353 RL |
1035 | thread_cflag => "-pthread", |
1036 | sys_id => "AIX", | |
1037 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", | |
1038 | perlasm_scheme => "aix64", | |
1039 | dso_scheme => "dlfcn", | |
1040 | shared_target => "aix-shared", | |
1041 | shared_ldflag => "-maix64 -shared -Wl,-G", | |
1042 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1043 | arflags => "-X64", | |
1044 | }, | |
7ead0c89 AP |
1045 | # Below targets assume AIX 5. Idea is to effectively disregard |
1046 | # $OBJECT_MODE at build time. $OBJECT_MODE is respected at | |
1047 | # ./config stage! | |
5e1b2353 | 1048 | "aix-cc" => { |
7ead0c89 | 1049 | inherit_from => [ asm("ppc32_asm") ], |
5e1b2353 | 1050 | cc => "cc", |
7ead0c89 AP |
1051 | cflags => "-q32 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst", |
1052 | debug_cflags => "", | |
1053 | release_cflags => "-O", | |
5e1b2353 RL |
1054 | thread_cflag => "-qthreaded -D_THREAD_SAFE", |
1055 | sys_id => "AIX", | |
1056 | bn_ops => "BN_LLONG RC4_CHAR", | |
1057 | perlasm_scheme => "aix32", | |
1058 | dso_scheme => "dlfcn", | |
1059 | shared_target => "aix-shared", | |
1060 | shared_ldflag => "-q32 -G", | |
1061 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1062 | arflags => "-X 32", | |
1063 | }, | |
1064 | "aix64-cc" => { | |
7ead0c89 | 1065 | inherit_from => [ asm("ppc64_asm") ], |
5e1b2353 | 1066 | cc => "cc", |
7ead0c89 AP |
1067 | cflags => "-q64 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst", |
1068 | debug_cflags => "", | |
1069 | release_cflags => "-O", | |
5e1b2353 RL |
1070 | thread_cflag => "-qthreaded -D_THREAD_SAFE", |
1071 | sys_id => "AIX", | |
1072 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", | |
1073 | perlasm_scheme => "aix64", | |
1074 | dso_scheme => "dlfcn", | |
1075 | shared_target => "aix-shared", | |
1076 | shared_ldflag => "-q64 -G", | |
1077 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1078 | arflags => "-X 64", | |
1079 | }, | |
f09e7ca9 RS |
1080 | |
1081 | # SIEMENS BS2000/OSD: an EBCDIC-based mainframe | |
5e1b2353 RL |
1082 | "BS2000-OSD" => { |
1083 | cc => "c89", | |
1084 | cflags => "-O -XLLML -XLLMK -XL -DB_ENDIAN -DCHARSET_EBCDIC", | |
1085 | thread_cflag => "(unknown)", | |
1740c162 | 1086 | ex_libs => "-lsocket -lnsl", |
3e9e810f | 1087 | bn_ops => "THIRTY_TWO_BIT RC4_CHAR", |
5e1b2353 | 1088 | }, |
f09e7ca9 RS |
1089 | |
1090 | # OS/390 Unix an EBCDIC-based Unix system on IBM mainframe | |
1091 | # You need to compile using the c89.sh wrapper in the tools directory, because the | |
1092 | # IBM compiler does not like the -L switch after any object modules. | |
1093 | # | |
5e1b2353 RL |
1094 | "OS390-Unix" => { |
1095 | cc => "c89.sh", | |
1096 | cflags => "-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE", | |
1097 | thread_cflag => "(unknown)", | |
3e9e810f | 1098 | bn_ops => "THIRTY_TWO_BIT RC4_CHAR", |
5e1b2353 | 1099 | }, |
f09e7ca9 | 1100 | |
7ead0c89 | 1101 | #### Visual C targets |
f09e7ca9 RS |
1102 | # |
1103 | # Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64 | |
1104 | # | |
1105 | # Note about -wd4090, disable warning C4090. This warning returns false | |
1106 | # positives in some situations. Disabling it altogether masks both | |
1107 | # legitimate and false cases, but as we compile on multiple platforms, | |
1108 | # we rely on other compilers to catch legitimate cases. | |
7ead0c89 AP |
1109 | "VC-common" => { |
1110 | template => 1, | |
5e1b2353 | 1111 | cc => "cl", |
7ead0c89 | 1112 | cflags => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE", |
5e1b2353 | 1113 | dso_scheme => "win32", |
88087414 | 1114 | build_scheme => "mk1mf", |
5e1b2353 | 1115 | }, |
7ead0c89 AP |
1116 | "VC-WIN64I" => { |
1117 | inherit_from => [ "VC-common", asm("ia64_asm") ], | |
88087414 | 1118 | cflags => add(" ", "-DUNICODE -D_UNICODE"), |
5e1b2353 | 1119 | sys_id => "WIN64I", |
3e9e810f | 1120 | bn_ops => "SIXTY_FOUR_BIT EXPORT_VAR_AS_FN", |
7ead0c89 AP |
1121 | bn_obj => sub { my $r=join(" ",@_); $r=~s/bn\-//; $r; }, |
1122 | rc4_obj => "", | |
5e1b2353 | 1123 | perlasm_scheme => "ias", |
88087414 | 1124 | build_scheme => [ "mk1mf", "VC-W64" ], |
5e1b2353 RL |
1125 | }, |
1126 | "VC-WIN64A" => { | |
7ead0c89 | 1127 | inherit_from => [ "VC-common", asm("x86_64_asm") ], |
88087414 | 1128 | cflags => add(" ", "-DUNICODE -D_UNICODE"), |
5e1b2353 | 1129 | sys_id => "WIN64A", |
3e9e810f | 1130 | bn_ops => "SIXTY_FOUR_BIT EXPORT_VAR_AS_FN", |
7ead0c89 | 1131 | bn_obj => sub { my $r=join(" ",@_); $r=~s/x86_64\-gcc/bn_asm/; $r; }, |
5e1b2353 | 1132 | perlasm_scheme => "auto", |
88087414 | 1133 | build_scheme => [ "mk1mf", "VC-W64" ], |
5e1b2353 | 1134 | }, |
5e1b2353 | 1135 | "VC-WIN32" => { |
7ead0c89 AP |
1136 | # x86 Win32 target defaults to ANSI API, if you want UNICODE, |
1137 | # configure with 'perl Configure VC-WIN32 -DUNICODE -D_UNICODE' | |
1138 | inherit_from => [ "VC-common", asm("x86_asm") ], | |
5e1b2353 | 1139 | sys_id => "WIN32", |
a01dab94 | 1140 | bn_ops => "BN_LLONG EXPORT_VAR_AS_FN", |
5e1b2353 | 1141 | perlasm_scheme => "win32n", |
88087414 | 1142 | build_scheme => [ "mk1mf", "VC-W32" ], |
5e1b2353 | 1143 | }, |
5e1b2353 | 1144 | "VC-CE" => { |
5e1b2353 RL |
1145 | cc => "cl", |
1146 | sys_id => "WINCE", | |
a01dab94 | 1147 | bn_ops => "BN_LLONG EXPORT_VAR_AS_FN", |
5e1b2353 | 1148 | dso_scheme => "win32", |
88087414 | 1149 | build_scheme => [ "mk1mf", "VC-WCE" ], |
5e1b2353 | 1150 | }, |
f09e7ca9 | 1151 | |
7ead0c89 | 1152 | #### Borland C++ 4.5 |
5e1b2353 | 1153 | "BC-32" => { |
5e1b2353 RL |
1154 | cc => "bcc32", |
1155 | sys_id => "WIN32", | |
3e9e810f | 1156 | bn_ops => "BN_LLONG EXPORT_VAR_AS_FN", |
5e1b2353 | 1157 | dso_scheme => "win32", |
88087414 | 1158 | build_scheme => [ "mk1mf", "BC" ], |
5e1b2353 | 1159 | }, |
f09e7ca9 | 1160 | |
7ead0c89 | 1161 | #### MinGW |
5e1b2353 | 1162 | "mingw" => { |
7ead0c89 | 1163 | inherit_from => [ asm("x86_asm") ], |
5e1b2353 | 1164 | cc => "gcc", |
dc898095 | 1165 | cflags => "-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -march=i486 -Wall", |
7ead0c89 | 1166 | debug_cflags => "-g -O0", |
80b1247f | 1167 | release_cflags => "-O3 -fomit-frame-pointer", |
5e1b2353 RL |
1168 | thread_cflag => "-D_MT", |
1169 | sys_id => "MINGW32", | |
1740c162 | 1170 | ex_libs => "-lws2_32 -lgdi32 -lcrypt32", |
a01dab94 | 1171 | bn_ops => "BN_LLONG EXPORT_VAR_AS_FN", |
5e1b2353 RL |
1172 | perlasm_scheme => "coff", |
1173 | dso_scheme => "win32", | |
1174 | shared_target => "cygwin-shared", | |
1175 | shared_cflag => "-D_WINDLL -DOPENSSL_USE_APPLINK", | |
1176 | shared_ldflag => "-mno-cygwin", | |
fcf80c46 | 1177 | shared_extension => ".dll", |
5e1b2353 | 1178 | }, |
5e1b2353 | 1179 | "mingw64" => { |
7ead0c89 AP |
1180 | # As for OPENSSL_USE_APPLINK. Applink makes it possible to use |
1181 | # .dll compiled with one compiler with application compiled with | |
1182 | # another compiler. It's possible to engage Applink support in | |
1183 | # mingw64 build, but it's not done, because till mingw64 | |
1184 | # supports structured exception handling, one can't seriously | |
1185 | # consider its binaries for using with non-mingw64 run-time | |
1186 | # environment. And as mingw64 is always consistent with itself, | |
1187 | # Applink is never engaged and can as well be omitted. | |
1188 | inherit_from => [ asm("x86_64_asm") ], | |
1189 | cc => "gcc", | |
dc898095 | 1190 | cflags => "-mno-cygwin -DL_ENDIAN -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE", |
7ead0c89 | 1191 | debug_cflags => "-g -O0", |
80b1247f | 1192 | release_cflags => "-O3", |
5e1b2353 RL |
1193 | thread_cflag => "-D_MT", |
1194 | sys_id => "MINGW64", | |
1740c162 | 1195 | ex_libs => "-lws2_32 -lgdi32 -lcrypt32", |
3e9e810f | 1196 | bn_ops => "SIXTY_FOUR_BIT EXPORT_VAR_AS_FN", |
5e1b2353 RL |
1197 | perlasm_scheme => "mingw64", |
1198 | dso_scheme => "win32", | |
1199 | shared_target => "cygwin-shared", | |
1200 | shared_cflag => "-D_WINDLL", | |
1201 | shared_ldflag => "-mno-cygwin", | |
fcf80c46 | 1202 | shared_extension => ".dll", |
5e1b2353 | 1203 | }, |
f09e7ca9 | 1204 | |
4d60c7e1 DW |
1205 | #### UEFI |
1206 | "UEFI" => { | |
1207 | cc => "cc", | |
1208 | cflags => "-DL_ENDIAN -O", | |
1209 | sys_id => "UEFI", | |
1210 | }, | |
1211 | ||
7ead0c89 | 1212 | #### UWIN |
5e1b2353 | 1213 | "UWIN" => { |
5e1b2353 RL |
1214 | cc => "cc", |
1215 | cflags => "-DTERMIOS -DL_ENDIAN -O -Wall", | |
1216 | sys_id => "UWIN", | |
a01dab94 | 1217 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
1218 | dso_scheme => "win32", |
1219 | }, | |
f09e7ca9 | 1220 | |
7ead0c89 | 1221 | #### Cygwin |
3f542969 | 1222 | "Cygwin-x86" => { |
7ead0c89 | 1223 | inherit_from => [ asm("x86_asm") ], |
5e1b2353 | 1224 | cc => "gcc", |
a717c110 | 1225 | cflags => "-DTERMIOS -DL_ENDIAN -Wall", |
7ead0c89 | 1226 | debug_cflags => "-g -O0", |
80b1247f | 1227 | release_cflags => "-O3 -fomit-frame-pointer", |
5e1b2353 | 1228 | sys_id => "CYGWIN", |
a01dab94 | 1229 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
1230 | perlasm_scheme => "coff", |
1231 | dso_scheme => "dlfcn", | |
1232 | shared_target => "cygwin-shared", | |
1233 | shared_cflag => "-D_WINDLL", | |
1234 | shared_ldflag => "-shared", | |
fcf80c46 | 1235 | shared_extension => ".dll", |
5e1b2353 RL |
1236 | }, |
1237 | "Cygwin-x86_64" => { | |
7ead0c89 | 1238 | inherit_from => [ asm("x86_64_asm") ], |
5e1b2353 | 1239 | cc => "gcc", |
7ead0c89 AP |
1240 | cflags => "-DTERMIOS -DL_ENDIAN -Wall", |
1241 | debug_cflags => "-g -O0", | |
80b1247f | 1242 | release_cflags => "-O3", |
5e1b2353 | 1243 | sys_id => "CYGWIN", |
3e9e810f | 1244 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 RL |
1245 | perlasm_scheme => "mingw64", |
1246 | dso_scheme => "dlfcn", | |
1247 | shared_target => "cygwin-shared", | |
1248 | shared_cflag => "-D_WINDLL", | |
1249 | shared_ldflag => "-shared", | |
fcf80c46 | 1250 | shared_extension => ".dll", |
5e1b2353 | 1251 | }, |
b9ee2dac RL |
1252 | # Backward compatibility for those using this target |
1253 | "Cygwin" => { | |
1254 | inherit_from => [ "Cygwin-x86" ] | |
1255 | }, | |
1256 | # In case someone constructs the Cygwin target name themself | |
1257 | "Cygwin-i386" => { | |
1258 | inherit_from => [ "Cygwin-x86" ] | |
1259 | }, | |
1260 | "Cygwin-i486" => { | |
1261 | inherit_from => [ "Cygwin-x86" ] | |
1262 | }, | |
1263 | "Cygwin-i586" => { | |
1264 | inherit_from => [ "Cygwin-x86" ] | |
1265 | }, | |
1266 | "Cygwin-i686" => { | |
1267 | inherit_from => [ "Cygwin-x86" ] | |
1268 | }, | |
f09e7ca9 | 1269 | |
7ead0c89 | 1270 | #### NetWare from David Ward (dsward@novell.com) |
f09e7ca9 RS |
1271 | # requires either MetroWerks NLM development tools, or gcc / nlmconv |
1272 | # NetWare defaults socket bio to WinSock sockets. However, | |
1273 | # the builds can be configured to use BSD sockets instead. | |
1274 | # netware-clib => legacy CLib c-runtime support | |
5e1b2353 RL |
1275 | "netware-clib" => { |
1276 | cc => "mwccnlm", | |
88087414 | 1277 | build_scheme => [ "mk1mf", "netware" ], |
5e1b2353 RL |
1278 | }, |
1279 | "netware-clib-bsdsock" => { | |
1280 | cc => "mwccnlm", | |
88087414 | 1281 | build_scheme => [ "mk1mf", "netware" ], |
5e1b2353 RL |
1282 | }, |
1283 | "netware-clib-gcc" => { | |
1284 | cc => "i586-netware-gcc", | |
1285 | cflags => "-nostdinc -I/ndk/nwsdk/include/nlm -I/ndk/ws295sdk/include -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYS_NETWARE -O2 -Wall", | |
5e1b2353 RL |
1286 | }, |
1287 | "netware-clib-bsdsock-gcc" => { | |
1288 | cc => "i586-netware-gcc", | |
1289 | cflags => "-nostdinc -I/ndk/nwsdk/include/nlm -DNETWARE_BSDSOCK -DNETDB_USE_INTERNET -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYS_NETWARE -O2 -Wall", | |
5e1b2353 | 1290 | }, |
7ead0c89 | 1291 | # netware-libc => LibC/NKS support |
5e1b2353 RL |
1292 | "netware-libc" => { |
1293 | cc => "mwccnlm", | |
a01dab94 | 1294 | bn_ops => "BN_LLONG", |
88087414 | 1295 | build_scheme => [ "mk1mf", "netware" ], |
5e1b2353 RL |
1296 | }, |
1297 | "netware-libc-bsdsock" => { | |
1298 | cc => "mwccnlm", | |
a01dab94 | 1299 | bn_ops => "BN_LLONG", |
88087414 | 1300 | build_scheme => [ "mk1mf", "netware" ], |
5e1b2353 RL |
1301 | }, |
1302 | "netware-libc-gcc" => { | |
1303 | cc => "i586-netware-gcc", | |
1304 | cflags => "-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYS_NETWARE -DTERMIO -O2 -Wall", | |
a01dab94 | 1305 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
1306 | }, |
1307 | "netware-libc-bsdsock-gcc" => { | |
1308 | cc => "i586-netware-gcc", | |
1309 | cflags => "-nostdinc -I/ndk/libc/include -DNETWARE_BSDSOCK -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYS_NETWARE -DTERMIO -O2 -Wall", | |
a01dab94 | 1310 | bn_ops => "BN_LLONG", |
5e1b2353 | 1311 | }, |
f09e7ca9 | 1312 | |
7ead0c89 | 1313 | #### DJGPP |
5e1b2353 | 1314 | "DJGPP" => { |
7ead0c89 | 1315 | inherit_from => [ asm("x86_asm") ], |
5e1b2353 RL |
1316 | cc => "gcc", |
1317 | cflags => "-I/dev/env/WATT_ROOT/inc -DTERMIO -DL_ENDIAN -fomit-frame-pointer -O2 -Wall", | |
1318 | sys_id => "MSDOS", | |
1740c162 | 1319 | ex_libs => "-L/dev/env/WATT_ROOT/lib -lwatt", |
a01dab94 | 1320 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
1321 | perlasm_scheme => "a.out", |
1322 | }, | |
f09e7ca9 | 1323 | |
7ead0c89 | 1324 | #### Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at> |
5e1b2353 RL |
1325 | "ultrix-cc" => { |
1326 | cc => "cc", | |
1327 | cflags => "-std1 -O -Olimit 2500 -DL_ENDIAN", | |
1328 | thread_cflag => "(unknown)", | |
1329 | }, | |
1330 | "ultrix-gcc" => { | |
1331 | cc => "gcc", | |
1332 | cflags => "-O3 -DL_ENDIAN", | |
1333 | thread_cflag => "(unknown)", | |
1334 | bn_ops => "BN_LLONG", | |
1335 | }, | |
f09e7ca9 RS |
1336 | # K&R C is no longer supported; you need gcc on old Ultrix installations |
1337 | ##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::", | |
1338 | ||
1339 | ##### MacOS X (a.k.a. Darwin) setup | |
7ead0c89 AP |
1340 | "darwin-common" => { |
1341 | template => 1, | |
5e1b2353 | 1342 | cc => "cc", |
7ead0c89 AP |
1343 | cflags => "", |
1344 | debug_cflags => "-g -O0", | |
79100440 | 1345 | release_cflags => "-O3", |
5e1b2353 RL |
1346 | thread_cflag => "-D_REENTRANT", |
1347 | sys_id => "MACOSX", | |
c86ddbe6 | 1348 | plib_lflags => "-Wl,-search_paths_first", |
3e9e810f | 1349 | bn_ops => "BN_LLONG RC4_CHAR", |
5e1b2353 RL |
1350 | perlasm_scheme => "osx32", |
1351 | dso_scheme => "dlfcn", | |
1352 | shared_target => "darwin-shared", | |
1353 | shared_cflag => "-fPIC -fno-common", | |
7ead0c89 | 1354 | shared_ldflag => "-dynamiclib", |
5e1b2353 RL |
1355 | shared_extension => ".\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", |
1356 | }, | |
7ead0c89 AP |
1357 | "darwin-ppc-cc" => { |
1358 | inherit_from => [ "darwin-common", asm("ppc32_asm") ], | |
1359 | cflags => "-arch ppc -DB_ENDIAN -Wa,-force_cpusubtype_ALL", | |
1360 | perlasm_scheme => "osx32", | |
1361 | shared_ldflag => "-arch ppc -dynamiclib", | |
1362 | }, | |
5e1b2353 | 1363 | "darwin64-ppc-cc" => { |
7ead0c89 AP |
1364 | inherit_from => [ "darwin-common", asm("ppc64_asm") ], |
1365 | cflags => "-arch ppc64 -DB_ENDIAN", | |
3e9e810f | 1366 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", |
5e1b2353 | 1367 | perlasm_scheme => "osx64", |
5e1b2353 | 1368 | shared_ldflag => "-arch ppc64 -dynamiclib", |
5e1b2353 RL |
1369 | }, |
1370 | "darwin-i386-cc" => { | |
7ead0c89 | 1371 | inherit_from => [ "darwin-common", asm("x86_asm") ], |
79100440 | 1372 | cflags => "-arch i386 -DL_ENDIAN", |
79100440 | 1373 | release_cflags => "-O3 -fomit-frame-pointer", |
3e9e810f | 1374 | bn_ops => "BN_LLONG RC4_INT", |
5e1b2353 | 1375 | perlasm_scheme => "macosx", |
5e1b2353 | 1376 | shared_ldflag => "-arch i386 -dynamiclib", |
5e1b2353 RL |
1377 | }, |
1378 | "darwin64-x86_64-cc" => { | |
7ead0c89 | 1379 | inherit_from => [ "darwin-common", asm("x86_64_asm") ], |
5e1b2353 | 1380 | cflags => "-arch x86_64 -DL_ENDIAN -Wall", |
3e9e810f | 1381 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
5e1b2353 | 1382 | perlasm_scheme => "macosx", |
5e1b2353 | 1383 | shared_ldflag => "-arch x86_64 -dynamiclib", |
5e1b2353 | 1384 | }, |
7ead0c89 AP |
1385 | |
1386 | #### iPhoneOS/iOS | |
f09e7ca9 RS |
1387 | # |
1388 | # It takes three prior-set environment variables to make it work: | |
1389 | # | |
1390 | # CROSS_COMPILE=/where/toolchain/is/usr/bin/ [note ending slash] | |
1391 | # CROSS_TOP=/where/SDKs/are | |
1392 | # CROSS_SDK=iPhoneOSx.y.sdk | |
1393 | # | |
1394 | # Exact paths vary with Xcode releases, but for couple of last ones | |
1395 | # they would look like this: | |
1396 | # | |
1397 | # CROSS_COMPILE=`xcode-select --print-path`/Toolchains/XcodeDefault.xctoolchain/usr/bin/ | |
1398 | # CROSS_TOP=`xcode-select --print-path`/Platforms/iPhoneOS.platform/Developer | |
7ead0c89 | 1399 | # CROSS_SDK=iPhoneOS.sdk |
f09e7ca9 | 1400 | # |
5e1b2353 | 1401 | "iphoneos-cross" => { |
7ead0c89 AP |
1402 | inherit_from => [ "darwin-common" ], |
1403 | cflags => "-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common", | |
5e1b2353 | 1404 | sys_id => "iOS", |
5e1b2353 | 1405 | }, |
313e6ec1 AP |
1406 | "ios-cross" => { |
1407 | inherit_from => [ "darwin-common", asm("armv4_asm") ], | |
1408 | # It should be possible to go below iOS 6 and even add -arch armv6, | |
1409 | # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant | |
d11582f1 | 1410 | # at this point. |
313e6ec1 AP |
1411 | cflags => "-arch armv7 -mios-version-min=6.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common", |
1412 | sys_id => "iOS", | |
1413 | perlasm_scheme => "ios32", | |
1414 | }, | |
5e1b2353 | 1415 | "ios64-cross" => { |
7ead0c89 AP |
1416 | inherit_from => [ "darwin-common", asm("aarch64_asm") ], |
1417 | cflags => "-arch arm64 -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common", | |
5e1b2353 | 1418 | sys_id => "iOS", |
3e9e810f | 1419 | bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", |
5e1b2353 | 1420 | perlasm_scheme => "ios64", |
5e1b2353 | 1421 | }, |
f09e7ca9 RS |
1422 | |
1423 | ##### GNU Hurd | |
5e1b2353 | 1424 | "hurd-x86" => { |
7ead0c89 | 1425 | inherit_from => [ asm("x86_elf_asm") ], |
5e1b2353 RL |
1426 | cc => "gcc", |
1427 | cflags => "-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall", | |
757d1490 | 1428 | thread_cflag => "-pthread", |
1740c162 | 1429 | ex_libs => "-ldl", |
a01dab94 | 1430 | bn_ops => "BN_LLONG", |
5e1b2353 RL |
1431 | dso_scheme => "dlfcn", |
1432 | shared_target => "linux-shared", | |
1433 | shared_cflag => "-fPIC", | |
1434 | }, | |
f09e7ca9 RS |
1435 | |
1436 | ##### OS/2 EMX | |
5e1b2353 RL |
1437 | "OS2-EMX" => { |
1438 | cc => "gcc", | |
1439 | }, | |
f09e7ca9 RS |
1440 | |
1441 | ##### VxWorks for various targets | |
5e1b2353 RL |
1442 | "vxworks-ppc60x" => { |
1443 | cc => "ccppc", | |
1444 | cflags => "-D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip", | |
1445 | sys_id => "VXWORKS", | |
1740c162 | 1446 | ex_libs => "-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common", |
5e1b2353 RL |
1447 | }, |
1448 | "vxworks-ppcgen" => { | |
1449 | cc => "ccppc", | |
1450 | cflags => "-D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip", | |
1451 | sys_id => "VXWORKS", | |
1740c162 | 1452 | ex_libs => "-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon", |
5e1b2353 RL |
1453 | }, |
1454 | "vxworks-ppc405" => { | |
1455 | cc => "ccppc", | |
1456 | cflags => "-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h", | |
1457 | sys_id => "VXWORKS", | |
1458 | lflags => "-r", | |
1459 | }, | |
1460 | "vxworks-ppc750" => { | |
1461 | cc => "ccppc", | |
1462 | cflags => "-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG)", | |
1463 | sys_id => "VXWORKS", | |
1464 | lflags => "-r", | |
1465 | }, | |
1466 | "vxworks-ppc750-debug" => { | |
1467 | cc => "ccppc", | |
c2e27310 | 1468 | cflags => "-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g", |
5e1b2353 RL |
1469 | sys_id => "VXWORKS", |
1470 | lflags => "-r", | |
1471 | }, | |
1472 | "vxworks-ppc860" => { | |
1473 | cc => "ccppc", | |
1474 | cflags => "-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$(WIND_BASE)/target/h", | |
1475 | sys_id => "VXWORKS", | |
1476 | lflags => "-r", | |
1477 | }, | |
1478 | "vxworks-simlinux" => { | |
5e1b2353 RL |
1479 | cc => "ccpentium", |
1480 | cflags => "-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DL_ENDIAN -DCPU=SIMLINUX -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/h -I\$(WIND_BASE)/target/h/wrn/coreip -DOPENSSL_NO_HW_PADLOCK", | |
1481 | sys_id => "VXWORKS", | |
1482 | lflags => "-r", | |
1483 | ranlib => "ranlibpentium", | |
1484 | }, | |
1485 | "vxworks-mips" => { | |
7ead0c89 | 1486 | inherit_from => [ asm("mips32_asm") ], |
5e1b2353 RL |
1487 | cc => "ccmips", |
1488 | cflags => "-mrtp -mips2 -O -G 0 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/h/wrn/coreip", | |
1489 | thread_cflag => "-D_REENTRANT", | |
1490 | sys_id => "VXWORKS", | |
1740c162 | 1491 | ex_libs => "-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon", |
5e1b2353 RL |
1492 | perlasm_scheme => "o32", |
1493 | ranlib => "ranlibmips", | |
1494 | }, | |
f09e7ca9 | 1495 | |
7ead0c89 | 1496 | #### uClinux |
5e1b2353 | 1497 | "uClinux-dist" => { |
5e1b2353 RL |
1498 | cc => "$ENV{'CC'}", |
1499 | cflags => "\$(CFLAGS)", | |
1500 | thread_cflag => "-D_REENTRANT", | |
c86ddbe6 | 1501 | plib_lflags => "\$(LDFLAGS)", |
1740c162 | 1502 | ex_libs => "\$(LDLIBS)", |
5e1b2353 RL |
1503 | bn_ops => "BN_LLONG", |
1504 | dso_scheme => "$ENV{'LIBSSL_dlfcn'}", | |
1505 | shared_target => "linux-shared", | |
1506 | shared_cflag => "-fPIC", | |
1507 | shared_ldflag => "-shared", | |
1508 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1509 | ranlib => "$ENV{'RANLIB'}", | |
1510 | }, | |
1511 | "uClinux-dist64" => { | |
5e1b2353 RL |
1512 | cc => "$ENV{'CC'}", |
1513 | cflags => "\$(CFLAGS)", | |
1514 | thread_cflag => "-D_REENTRANT", | |
c86ddbe6 | 1515 | plib_lflags => "\$(LDFLAGS)", |
1740c162 | 1516 | ex_libs => "\$(LDLIBS)", |
5e1b2353 RL |
1517 | bn_ops => "SIXTY_FOUR_BIT_LONG", |
1518 | dso_scheme => "$ENV{'LIBSSL_dlfcn'}", | |
1519 | shared_target => "linux-shared", | |
1520 | shared_cflag => "-fPIC", | |
1521 | shared_ldflag => "-shared", | |
1522 | shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | |
1523 | ranlib => "$ENV{'RANLIB'}", | |
1524 | }, | |
f09e7ca9 RS |
1525 | |
1526 | ); |