Remove FLOSS from all OSS builds on NonStop except for SPT threading.
[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', '_TANDEM_ARCH=2'],
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', '_TANDEM_ARCH=3'],
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         defines          => ['_TANDEM_ARCH=2'],
93         cflags           => '-Wtarget=tns/e -Wsystype=oss',
94         lflags           => '-Weld="-set systype oss"',
95         shared_ldflag    => '-Wshared',
96         shared_defflag   => '-Weld_obey=',
97         shared_argfileflag => '-Weld_obey=',
98     },
99     # x86_64 + oss:
100     'nonstop-archenv-x86_64-oss' => {
101         template         => 1,
102         defines          => ['_TANDEM_ARCH=3'],
103         cflags           => '-Wtarget=tns/x -Wsystype=oss',
104         lflags           => '-Wxld="-set systype oss"',
105         shared_ldflag    => '-Wshared',
106         shared_defflag   => '-Wxld_obey=',
107         shared_argfileflag => '-Wxld_obey=',
108     },
109
110     # Size variants
111     'nonstop-ilp32' => {
112         template         => 1,
113         cflags           => '-Wilp32',
114         bn_ops           => 'THIRTY_TWO_BIT',
115     },
116     'nonstop-lp64-itanium' => {
117         template         => 1,
118         cflags           => '-Wlp64',
119         bn_ops           => 'SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR',
120     },
121     'nonstop-lp64-x86_64' => {
122         template         => 1,
123         cflags           => '-Wlp64',
124         lflags           => '-Wxld="-set data_model lp64"',
125         bn_ops           => 'SIXTY_FOUR_BIT',
126     },
127
128     # Float variants
129     'nonstop-nfloat-mips' => {
130         template         => 1,
131         lflags           => '-Wld="-set floattype neutral_float"',
132     },
133     'nonstop-tfloat-mips' => {
134         template         => 1,
135         lflags           => '-Wld="-set floattype tandem_float"',
136     },
137     'nonstop-efloat-itanium' => {
138         template         => 1,
139         cflags           => '-WIEEE_float',
140         lflags           => '-Weld="-set floattype ieee_float"',
141     },
142     'nonstop-nfloat-itanium' => {
143         template         => 1,
144         lflags           => '-Weld="-set floattype neutral_float"',
145     },
146     'nonstop-tfloat-itanium' => {
147         template         => 1,
148         cflags           => '-WTandem_float',
149         lflags           => '-Weld="-set floattype tandem_float"',
150     },
151     'nonstop-efloat-x86_64' => {
152         template         => 1,
153         cflags           => '-WIEEE_float',
154         lflags           => '-Wxld="-set floattype ieee_float"',
155     },
156     'nonstop-nfloat-x86_64' => {
157         template         => 1,
158         lflags           => '-Wxld="-set floattype neutral_float"',
159     },
160     'nonstop-tfloat-x86_64' => {
161         template         => 1,
162         cflags           => '-WTandem_float',
163         lflags           => '-Wxld="-set floattype tandem_float"',
164     },
165
166     ######################################################################
167     # Build models
168     'nonstop-model-put' => {
169         template         => 1,
170         defines          => ['_PUT_MODEL_',
171                              '_REENTRANT', '_ENABLE_FLOSS_THREADS'],
172         ex_libs          => '-lput',
173     },
174     'nonstop-model-spt' => {
175         template         => 1,
176         defines          => ['_SPT_MODEL_',
177                              '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
178         ex_libs          => '-lspt',
179     },
180
181     # Additional floss model that can be combined with any of the other models.
182     # If used without any of the other models, the entry that does so must
183     # disable threads.
184     'nonstop-model-floss' => {
185         template         => 1,
186         defines          => ['OPENSSL_TANDEM_FLOSS'],
187         includes         => ['/usr/local/include'],
188         ex_libs          => '-lfloss',
189     },
190
191     ######################################################################
192     # Now for the entries themselves, let's combine things!
193     'nonstop-nsx' => {
194         inherit_from     => [ 'nonstop-common',
195                               'nonstop-archenv-x86_64-oss',
196                               'nonstop-ilp32',
197                               'nonstop-efloat-x86_64' ],
198         disable          => ['threads'],
199     },
200     'nonstop-nsx_put' => {
201         inherit_from     => [ 'nonstop-common',
202                               'nonstop-archenv-x86_64-oss',
203                               'nonstop-ilp32',
204                               'nonstop-efloat-x86_64',
205                               'nonstop-model-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         disable          => ['threads'],
213     },
214     'nonstop-nsx_64_put' => {
215         inherit_from     => [ 'nonstop-common',
216                               'nonstop-archenv-x86_64-oss',
217                               'nonstop-lp64-x86_64',
218                               'nonstop-efloat-x86_64',
219                               'nonstop-model-put' ],
220     },
221     'nonstop-nsx_spt' => {
222         inherit_from     => [ 'nonstop-common',
223                               'nonstop-archenv-x86_64-oss', 
224                               'nonstop-ilp32',
225                               'nonstop-efloat-x86_64',
226                               'nonstop-model-spt' ],
227     },
228     'nonstop-nsx_spt_floss' => {
229         inherit_from     => [ 'nonstop-common',
230                               'nonstop-archenv-x86_64-oss',
231                               'nonstop-ilp32',
232                               'nonstop-efloat-x86_64',
233                               'nonstop-model-floss',
234                               'nonstop-model-spt'],
235     },
236     'nonstop-nsx_g' => {
237         inherit_from     => [ 'nonstop-common',
238                               'nonstop-archenv-x86_64-guardian',
239                               'nonstop-ilp32', 'nonstop-nfloat-x86_64' ],
240         disable          => ['threads'],
241     },
242     'nonstop-nsx_g_tandem' => {
243         inherit_from     => [ 'nonstop-common',
244                               'nonstop-archenv-x86_64-guardian',
245                               'nonstop-ilp32', 'nonstop-tfloat-x86_64' ],
246         disable          => ['threads'],
247     },
248     'nonstop-nsv' => {
249         inherit_from     => [ 'nonstop-nsx' ],
250     },
251     'nonstop-nse' => {
252         inherit_from     => [ 'nonstop-common',
253                               'nonstop-archenv-itanium-oss',
254                               'nonstop-ilp32',
255                               'nonstop-efloat-itanium' ],
256         disable          => ['threads'],
257     },
258     'nonstop-nse_put' => {
259         inherit_from     => [ 'nonstop-common',
260                               'nonstop-archenv-itanium-oss',
261                               'nonstop-ilp32',
262                               'nonstop-efloat-itanium',
263                               'nonstop-model-put' ],
264     },
265     'nonstop-nse_64' => {
266         inherit_from     => [ 'nonstop-common',
267                               'nonstop-archenv-itanium-oss',
268                               'nonstop-lp64-itanium',
269                               'nonstop-efloat-itanium' ],
270         disable          => ['threads'],
271     },
272     'nonstop-nse_64_put' => {
273         inherit_from     => [ 'nonstop-common',
274                               'nonstop-archenv-itanium-oss',
275                               'nonstop-lp64-itanium',
276                               'nonstop-efloat-itanium',
277                               'nonstop-model-put' ],
278     },
279     'nonstop-nse_spt' => {
280         inherit_from     => [ 'nonstop-common',
281                               'nonstop-archenv-itanium-oss',
282                               'nonstop-ilp32',
283                               'nonstop-efloat-itanium',
284                               'nonstop-model-spt' ],
285     },
286     'nonstop-nse_spt_floss' => {
287         inherit_from     => [ 'nonstop-common',
288                               'nonstop-archenv-itanium-oss',
289                               'nonstop-ilp32',
290                               'nonstop-efloat-itanium',
291                               'nonstop-model-floss', 'nonstop-model-spt' ],
292     },
293     'nonstop-nse_g' => {
294         inherit_from     => [ 'nonstop-common',
295                               'nonstop-archenv-itanium-guardian',
296                               'nonstop-ilp32', 'nonstop-nfloat-itanium' ],
297         disable          => ['threads'],
298     },
299
300     'nonstop-nse_g_tandem' => {
301         inherit_from     => [ 'nonstop-common',
302                               'nonstop-archenv-itanium-guardian',
303                               'nonstop-ilp32', 'nonstop-tfloat-itanium' ],
304         disable          => ['threads'],
305     },