QUIC Test Server: Basic echo server test
[openssl.git] / Configurations / 50-nonstop.conf
1 #### Nonstop configurations
2     # Common for all
3     'nonstop-common' => {
4         inherit_from     => [ 'BASE_unix' ],
5         template         => 1,
6         cc               => 'c99',
7         cflags           => add_before(picker(debug   => '-g -O0',
8                                               release => '-g -O2'),
9                                        '-Wextensions',
10                                        '-Wnowarn=203,220,272,734,770,1506',
11                                        '-Wbuild_neutral_library',
12                                        '-Wverbose'),
13         defines          => add('OPENSSL_VPROC=$(OPENSSL_VPROC)',
14                                 '_XOPEN_SOURCE',
15                                 '_XOPEN_SOURCE_EXTENDED=1',
16                                 '_TANDEM_SOURCE',
17                                 'B_ENDIAN'),
18         perl             => '/usr/bin/perl',
19         shared_target    => 'nonstop-shared',
20         shared_extension => ".so",
21         ex_libs          => add('-lrld'),
22         enable           => ['egd'],
23         dso_scheme       => 'DLFCN',
24         sys_id           => 'TANDEM',
25     },
26
27     ######################################################################
28     # Additional variant settings, to be combined with nonstop-common
29     # Note that these do not inherit anything.  However, the diverse values
30     # are merged with other entries in an 'inherit_from'.
31     #
32     # These combine:
33     # - System architecture (MIPS, Itanium, or x86)
34     # - Execution environment (oss [default] or guardian)
35     #
36     # Unfortunately, they can't be separated into independent templates, because
37     # a number of the above are encoded as different linkers, and by consequence,
38     # different c99 linker flags (-Wld, -Weld, and -Wxld)
39     #
40     # In addition, the are modifiers for:
41     # - Size of long + pointer (ilp32 [default] and lp64)
42     # - Float type (neutral and tandem)
43     #
44     # Unfortunately, because the float types affect the linker settings, those
45     # are divided per system architecture
46     #
47     # MIPS + guardian (unused but present for convenience):
48     'nonstop-archenv-mips-guardian' => {
49         template         => 1,
50         defines          => ['NO_GETPID'],
51         cflags           => '-Wtarget=tns/r -Wsystype=guardian',
52         lflags           => '-Wld="-set systype guardian"',
53         shared_ldflag    => '-Wshared -Wld="-soname $(@:lib%.so=%)"',
54         shared_defflag   => '-Wld_obey=',
55         shared_argfileflag => '-Wld_obey=',
56     },
57
58     # Itanium + guardian:
59     'nonstop-archenv-itanium-guardian' => {
60         template         => 1,
61         defines          => ['NO_GETPID'],
62         cflags           => '-Wtarget=tns/e -Wsystype=guardian',
63         lflags           => '-Weld="-set systype guardian"',
64         shared_ldflag    => '-Wshared -Weld="-soname $(@:lib%.so=%)"',
65         shared_defflag   => '-Weld_obey=',
66         shared_argfileflag => '-Weld_obey=',
67     },
68
69     # x86 + guardian:
70     'nonstop-archenv-x86_64-guardian' => {
71         template         => 1,
72         defines          => ['NO_GETPID'],
73         cflags           => '-Wtarget=tns/x -Wsystype=guardian',
74         lflags           => '-Wxld="-set systype guardian"',
75         shared_ldflag    => '-Wshared -Wxld="-soname $(@:lib%.so=%)"',
76         shared_defflag   => '-Wxld_obey=',
77         shared_argfileflag => '-Wxld_obey=',
78     },
79
80     # MIPS + oss (unused but present for convenience):
81     'nonstop-archenv-mips-oss' => {
82         template         => 1,
83         cflags           => '-Wtarget=tns/r -Wsystype=oss',
84         lflags           => '-Wld="-set systype oss"',
85         shared_ldflag    => '-Wshared',
86         shared_defflag   => '-Wld_obey=',
87         shared_argfileflag => '-Wld_obey=',
88     },
89     # Itanium + oss:
90     'nonstop-archenv-itanium-oss' => {
91         template         => 1,
92         cflags           => '-Wtarget=tns/e -Wsystype=oss',
93         lflags           => '-Weld="-set systype oss"',
94         shared_ldflag    => '-Wshared',
95         shared_defflag   => '-Weld_obey=',
96         shared_argfileflag => '-Weld_obey=',
97     },
98     # x86_64 + oss:
99     'nonstop-archenv-x86_64-oss' => {
100         template         => 1,
101         cflags           => '-Wtarget=tns/x -Wsystype=oss',
102         lflags           => '-Wxld="-set systype oss"',
103         shared_ldflag    => '-Wshared',
104         shared_defflag   => '-Wxld_obey=',
105         shared_argfileflag => '-Wxld_obey=',
106     },
107
108     # Size variants
109     'nonstop-ilp32' => {
110         template         => 1,
111         cflags           => '-Wilp32',
112         bn_ops           => 'THIRTY_TWO_BIT',
113     },
114     'nonstop-lp64-itanium' => {
115         template         => 1,
116         cflags           => '-Wlp64',
117         bn_ops           => 'SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR',
118     },
119     'nonstop-lp64-x86_64' => {
120         template         => 1,
121         cflags           => '-Wlp64',
122         lflags           => '-Wxld="-set data_model lp64"',
123         bn_ops           => 'SIXTY_FOUR_BIT',
124     },
125
126     # Float variants
127     'nonstop-nfloat-mips' => {
128         template         => 1,
129         lflags           => '-Wld="-set floattype neutral_float"',
130     },
131     'nonstop-tfloat-mips' => {
132         template         => 1,
133         lflags           => '-Wld="-set floattype tandem_float"',
134     },
135     'nonstop-efloat-itanium' => {
136         template         => 1,
137         cflags           => '-WIEEE_float',
138         lflags           => '-Weld="-set floattype ieee_float"',
139     },
140     'nonstop-nfloat-itanium' => {
141         template         => 1,
142         lflags           => '-Weld="-set floattype neutral_float"',
143     },
144     'nonstop-tfloat-itanium' => {
145         template         => 1,
146         cflags           => '-WTandem_float',
147         lflags           => '-Weld="-set floattype tandem_float"',
148     },
149     'nonstop-efloat-x86_64' => {
150         template         => 1,
151         cflags           => '-WIEEE_float',
152         lflags           => '-Wxld="-set floattype ieee_float"',
153     },
154     'nonstop-nfloat-x86_64' => {
155         template         => 1,
156         lflags           => '-Wxld="-set floattype neutral_float"',
157     },
158     'nonstop-tfloat-x86_64' => {
159         template         => 1,
160         cflags           => '-WTandem_float',
161         lflags           => '-Wxld="-set floattype tandem_float"',
162     },
163
164     ######################################################################
165     # Build models
166     'nonstop-model-put' => {
167         template         => 1,
168         defines          => ['_PUT_MODEL_',
169                              '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
170         ex_libs          => '-lput',
171     },
172     'nonstop-model-spt' => {
173         template         => 1,
174         defines          => ['_SPT_MODEL_',
175                              '_REENTRANT', '_ENABLE_FLOSS_THREADS'],
176         ex_libs          => '-lspt',
177     },
178
179     # Additional floss model that can be combined with any of the other models.
180     # If used without any of the other models, the entry that does so must
181     # disable threads.
182     'nonstop-model-floss' => {
183         template         => 1,
184         defines          => ['OPENSSL_TANDEM_FLOSS'],
185         includes         => ['/usr/local/include'],
186         ex_libs          => '-lfloss',
187     },
188
189     ######################################################################
190     # Now for the entries themselves, let's combine things!
191     'nonstop-nsx' => {
192         inherit_from     => [ 'nonstop-common',
193                               'nonstop-archenv-x86_64-oss',
194                               'nonstop-ilp32',
195                               'nonstop-efloat-x86_64' ],
196         disable          => ['threads'],
197     },
198     'nonstop-nsx_put' => {
199         inherit_from     => [ 'nonstop-common',
200                               'nonstop-archenv-x86_64-oss',
201                               'nonstop-ilp32',
202                               'nonstop-efloat-x86_64',
203                               'nonstop-model-put' ],
204         multilib         => '-put',
205         multibin         => '-put',
206     },
207     'nonstop-nsx_64' => {
208         inherit_from     => [ 'nonstop-common',
209                               'nonstop-archenv-x86_64-oss',
210                               'nonstop-lp64-x86_64',
211                               'nonstop-efloat-x86_64' ],
212         multilib         => '64',
213         multibin         => '64',
214         disable          => ['threads'],
215     },
216     'nonstop-nsx_64_put' => {
217         inherit_from     => [ 'nonstop-common',
218                               'nonstop-archenv-x86_64-oss',
219                               'nonstop-lp64-x86_64',
220                               'nonstop-efloat-x86_64',
221                               'nonstop-model-put' ],
222         multilib         => '64-put',
223         multibin         => '64-put',
224     },
225     'nonstop-nsx_spt' => {
226         inherit_from     => [ 'nonstop-common',
227                               'nonstop-archenv-x86_64-oss',
228                               'nonstop-ilp32',
229                               'nonstop-efloat-x86_64',
230                               'nonstop-model-spt' ],
231         multilib         => '-spt',
232         multibin         => '-spt',
233     },
234     'nonstop-nsx_spt_floss' => {
235         inherit_from     => [ 'nonstop-common',
236                               'nonstop-archenv-x86_64-oss',
237                               'nonstop-ilp32',
238                               'nonstop-efloat-x86_64',
239                               'nonstop-model-floss',
240                               'nonstop-model-spt'],
241         multilib         => '-spt',
242         multibin         => '-spt',
243     },
244     'nonstop-nsx_g' => {
245         inherit_from     => [ 'nonstop-common',
246                               'nonstop-archenv-x86_64-guardian',
247                               'nonstop-ilp32', 'nonstop-nfloat-x86_64' ],
248         disable          => ['threads'],
249     },
250     'nonstop-nsx_g_tandem' => {
251         inherit_from     => [ 'nonstop-common',
252                               'nonstop-archenv-x86_64-guardian',
253                               'nonstop-ilp32', 'nonstop-tfloat-x86_64' ],
254         disable          => ['threads'],
255     },
256     'nonstop-nsv' => {
257         inherit_from     => [ 'nonstop-nsx' ],
258     },
259     'nonstop-nse' => {
260         inherit_from     => [ 'nonstop-common',
261                               'nonstop-archenv-itanium-oss',
262                               'nonstop-ilp32',
263                               'nonstop-efloat-itanium' ],
264         disable          => ['threads'],
265     },
266     'nonstop-nse_put' => {
267         inherit_from     => [ 'nonstop-common',
268                               'nonstop-archenv-itanium-oss',
269                               'nonstop-ilp32',
270                               'nonstop-efloat-itanium',
271                               'nonstop-model-put' ],
272         multilib         => '-put',
273         multibin         => '-put',
274     },
275     'nonstop-nse_64' => {
276         inherit_from     => [ 'nonstop-common',
277                               'nonstop-archenv-itanium-oss',
278                               'nonstop-lp64-itanium',
279                               'nonstop-efloat-itanium' ],
280         multilib         => '64',
281         multibin         => '64',
282         disable          => ['threads'],
283     },
284     'nonstop-nse_64_put' => {
285         inherit_from     => [ 'nonstop-common',
286                               'nonstop-archenv-itanium-oss',
287                               'nonstop-lp64-itanium',
288                               'nonstop-efloat-itanium',
289                               'nonstop-model-put' ],
290         multilib         => '64-put',
291         multibin         => '64-put',
292     },
293     'nonstop-nse_spt' => {
294         inherit_from     => [ 'nonstop-common',
295                               'nonstop-archenv-itanium-oss',
296                               'nonstop-ilp32',
297                               'nonstop-efloat-itanium',
298                               'nonstop-model-spt' ],
299         multilib         => '-spt',
300         multibin         => '-spt',
301     },
302     'nonstop-nse_spt_floss' => {
303         inherit_from     => [ 'nonstop-common',
304                               'nonstop-archenv-itanium-oss',
305                               'nonstop-ilp32',
306                               'nonstop-efloat-itanium',
307                               'nonstop-model-floss', 'nonstop-model-spt' ],
308         multilib         => '-spt',
309         multibin         => '-spt',
310     },
311     'nonstop-nse_g' => {
312         inherit_from     => [ 'nonstop-common',
313                               'nonstop-archenv-itanium-guardian',
314                               'nonstop-ilp32', 'nonstop-nfloat-itanium' ],
315         disable          => ['threads'],
316     },
317
318     'nonstop-nse_g_tandem' => {
319         inherit_from     => [ 'nonstop-common',
320                               'nonstop-archenv-itanium-guardian',
321                               'nonstop-ilp32', 'nonstop-tfloat-itanium' ],
322         disable          => ['threads'],
323     },