Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/openssl/Configurations/50-nonstop.conf
106593 views
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
# Not currently inherited
25
disable => ['atexit'],
26
dso_scheme => 'DLFCN',
27
sys_id => 'TANDEM',
28
},
29
30
######################################################################
31
# Additional variant settings, to be combined with nonstop-common
32
# Note that these do not inherit anything. However, the diverse values
33
# are merged with other entries in an 'inherit_from'.
34
#
35
# These combine:
36
# - System architecture (MIPS, Itanium, or x86)
37
# - Execution environment (oss [default] or guardian)
38
#
39
# Unfortunately, they can't be separated into independent templates, because
40
# a number of the above are encoded as different linkers, and by consequence,
41
# different c99 linker flags (-Wld, -Weld, and -Wxld)
42
#
43
# In addition, the are modifiers for:
44
# - Size of long + pointer (ilp32 [default] and lp64)
45
# - Float type (neutral and tandem)
46
#
47
# Unfortunately, because the float types affect the linker settings, those
48
# are divided per system architecture
49
#
50
# MIPS + guardian (unused but present for convenience):
51
'nonstop-archenv-mips-guardian' => {
52
template => 1,
53
defines => ['NO_GETPID'],
54
cflags => '-Wtarget=tns/r -Wsystype=guardian',
55
lflags => '-Wld="-set systype guardian"',
56
shared_ldflag => '-Wshared -Wld="-soname $(@:lib%.so=%)"',
57
shared_defflag => '-Wld_obey=',
58
shared_argfileflag => '-Wld_obey=',
59
},
60
61
# Itanium + guardian:
62
'nonstop-archenv-itanium-guardian' => {
63
template => 1,
64
defines => ['NO_GETPID'],
65
cflags => '-Wtarget=tns/e -Wsystype=guardian',
66
lflags => '-Weld="-set systype guardian"',
67
shared_ldflag => '-Wshared -Weld="-soname $(@:lib%.so=%)"',
68
shared_defflag => '-Weld_obey=',
69
shared_argfileflag => '-Weld_obey=',
70
},
71
72
# x86 + guardian:
73
'nonstop-archenv-x86_64-guardian' => {
74
template => 1,
75
defines => ['NO_GETPID'],
76
cflags => '-Wtarget=tns/x -Wsystype=guardian',
77
lflags => '-Wxld="-set systype guardian"',
78
shared_ldflag => '-Wshared -Wxld="-soname $(@:lib%.so=%)"',
79
shared_defflag => '-Wxld_obey=',
80
shared_argfileflag => '-Wxld_obey=',
81
},
82
83
# MIPS + oss (unused but present for convenience):
84
'nonstop-archenv-mips-oss' => {
85
template => 1,
86
cflags => '-Wtarget=tns/r -Wsystype=oss',
87
lflags => '-Wld="-set systype oss"',
88
shared_ldflag => '-Wshared',
89
shared_defflag => '-Wld_obey=',
90
shared_argfileflag => '-Wld_obey=',
91
},
92
# Itanium + oss:
93
'nonstop-archenv-itanium-oss' => {
94
template => 1,
95
cflags => '-Wtarget=tns/e -Wsystype=oss',
96
lflags => '-Weld="-set systype oss"',
97
shared_ldflag => '-Wshared',
98
shared_defflag => '-Weld_obey=',
99
shared_argfileflag => '-Weld_obey=',
100
},
101
# x86_64 + oss:
102
'nonstop-archenv-x86_64-oss' => {
103
template => 1,
104
cflags => '-Wtarget=tns/x -Wsystype=oss',
105
lflags => '-Wxld="-set systype oss"',
106
shared_ldflag => '-Wshared',
107
shared_defflag => '-Wxld_obey=',
108
shared_argfileflag => '-Wxld_obey=',
109
},
110
111
# Size variants
112
'nonstop-ilp32' => {
113
template => 1,
114
cflags => '-Wilp32',
115
bn_ops => 'THIRTY_TWO_BIT',
116
},
117
'nonstop-lp64-itanium' => {
118
template => 1,
119
cflags => '-Wlp64',
120
bn_ops => 'SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR',
121
},
122
'nonstop-lp64-x86_64' => {
123
template => 1,
124
cflags => '-Wlp64',
125
lflags => '-Wxld="-set data_model lp64"',
126
bn_ops => 'SIXTY_FOUR_BIT',
127
},
128
129
# Float variants
130
'nonstop-nfloat-mips' => {
131
template => 1,
132
lflags => '-Wld="-set floattype neutral_float"',
133
},
134
'nonstop-tfloat-mips' => {
135
template => 1,
136
lflags => '-Wld="-set floattype tandem_float"',
137
},
138
'nonstop-efloat-itanium' => {
139
template => 1,
140
cflags => '-WIEEE_float',
141
lflags => '-Weld="-set floattype ieee_float"',
142
},
143
'nonstop-nfloat-itanium' => {
144
template => 1,
145
lflags => '-Weld="-set floattype neutral_float"',
146
},
147
'nonstop-tfloat-itanium' => {
148
template => 1,
149
cflags => '-WTandem_float',
150
lflags => '-Weld="-set floattype tandem_float"',
151
},
152
'nonstop-efloat-x86_64' => {
153
template => 1,
154
cflags => '-WIEEE_float',
155
lflags => '-Wxld="-set floattype ieee_float"',
156
},
157
'nonstop-nfloat-x86_64' => {
158
template => 1,
159
lflags => '-Wxld="-set floattype neutral_float"',
160
},
161
'nonstop-tfloat-x86_64' => {
162
template => 1,
163
cflags => '-WTandem_float',
164
lflags => '-Wxld="-set floattype tandem_float"',
165
},
166
167
######################################################################
168
# Build models
169
'nonstop-model-put' => {
170
template => 1,
171
disable => ['secure-memory'],
172
defines => ['_PUT_MODEL_',
173
'_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
174
ex_libs => '-lput',
175
},
176
177
######################################################################
178
# Build models
179
'nonstop-model-klt' => {
180
template => 1,
181
disable => ['secure-memory'],
182
defines => ['_KLT_MODEL_',
183
'_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
184
ex_libs => '-lklt',
185
},
186
187
######################################################################
188
# Now for the entries themselves, let's combine things!
189
'nonstop-nsx' => {
190
inherit_from => [ 'nonstop-common',
191
'nonstop-archenv-x86_64-oss',
192
'nonstop-ilp32',
193
'nonstop-efloat-x86_64' ],
194
disable => ['threads','atexit'],
195
},
196
'nonstop-nsx_put' => {
197
inherit_from => [ 'nonstop-common',
198
'nonstop-archenv-x86_64-oss',
199
'nonstop-ilp32',
200
'nonstop-efloat-x86_64',
201
'nonstop-model-put' ],
202
multilib => '-put',
203
multibin => '-put',
204
disable => ['atexit'],
205
},
206
'nonstop-nsx_64' => {
207
inherit_from => [ 'nonstop-common',
208
'nonstop-archenv-x86_64-oss',
209
'nonstop-lp64-x86_64',
210
'nonstop-efloat-x86_64' ],
211
multilib => '64',
212
multibin => '64',
213
disable => ['threads','atexit'],
214
},
215
'nonstop-nsx_64_put' => {
216
inherit_from => [ 'nonstop-common',
217
'nonstop-archenv-x86_64-oss',
218
'nonstop-lp64-x86_64',
219
'nonstop-efloat-x86_64',
220
'nonstop-model-put' ],
221
multilib => '64-put',
222
multibin => '64-put',
223
disable => ['atexit'],
224
},
225
'nonstop-nsx_64_klt' => {
226
inherit_from => [ 'nonstop-common',
227
'nonstop-archenv-x86_64-oss',
228
'nonstop-lp64-x86_64',
229
'nonstop-efloat-x86_64',
230
'nonstop-model-klt' ],
231
multilib => '64-klt',
232
multibin => '64-klt',
233
disable => ['atexit'],
234
},
235
'nonstop-nsx_g' => {
236
inherit_from => [ 'nonstop-common',
237
'nonstop-archenv-x86_64-guardian',
238
'nonstop-ilp32', 'nonstop-nfloat-x86_64' ],
239
disable => ['threads','atexit'],
240
},
241
'nonstop-nsx_g_tandem' => {
242
inherit_from => [ 'nonstop-common',
243
'nonstop-archenv-x86_64-guardian',
244
'nonstop-ilp32', 'nonstop-tfloat-x86_64' ],
245
disable => ['threads','atexit'],
246
},
247
'nonstop-nsv' => {
248
inherit_from => [ 'nonstop-nsx' ],
249
},
250
'nonstop-nse' => {
251
inherit_from => [ 'nonstop-common',
252
'nonstop-archenv-itanium-oss',
253
'nonstop-ilp32',
254
'nonstop-efloat-itanium' ],
255
disable => ['threads','atexit'],
256
},
257
'nonstop-nse_put' => {
258
inherit_from => [ 'nonstop-common',
259
'nonstop-archenv-itanium-oss',
260
'nonstop-ilp32',
261
'nonstop-efloat-itanium',
262
'nonstop-model-put' ],
263
multilib => '-put',
264
multibin => '-put',
265
disable => ['atexit'],
266
},
267
'nonstop-nse_64' => {
268
inherit_from => [ 'nonstop-common',
269
'nonstop-archenv-itanium-oss',
270
'nonstop-lp64-itanium',
271
'nonstop-efloat-itanium' ],
272
multilib => '64',
273
multibin => '64',
274
disable => ['threads','atexit'],
275
},
276
'nonstop-nse_64_put' => {
277
inherit_from => [ 'nonstop-common',
278
'nonstop-archenv-itanium-oss',
279
'nonstop-lp64-itanium',
280
'nonstop-efloat-itanium',
281
'nonstop-model-put' ],
282
multilib => '64-put',
283
multibin => '64-put',
284
disable => ['atexit'],
285
},
286
287