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