• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# TODO: use ../apps/libapps.a instead of direct ../apps/lib source.
2# This can't currently be done, because some of its units drag in too many
3# unresolved references that don't apply here.
4# Most of all, ../apps/lib/apps.c needs to be divided in smaller pieces to
5# be useful here.
6#
7# Auxiliary program source (copied from ../apps/build.info)
8IF[{- $config{target} =~ /^(?:VC-|mingw|BC-)/ -}]
9  # It's called 'init', but doesn't have much 'init' in it...
10  $AUXLIBAPPSSRC=../apps/lib/win32_init.c
11ENDIF
12IF[{- $config{target} =~ /^vms-/ -}]
13  $AUXLIBAPPSSRC=../apps/lib/vms_term_sock.c ../apps/lib/vms_decc_argv.c
14ENDIF
15# Program init source, that don't have direct linkage with the rest of the
16# source, and can therefore not be part of a library.
17IF[{- !$disabled{uplink} -}]
18  $INITSRC=../ms/applink.c
19ENDIF
20$LIBAPPSSRC=../apps/lib/opt.c $AUXLIBAPPSSRC
21
22IF[{- !$disabled{tests} -}]
23  LIBS{noinst,has_main}=libtestutil.a
24  SOURCE[libtestutil.a]=testutil/basic_output.c testutil/output.c \
25          testutil/driver.c testutil/tests.c testutil/cb.c testutil/stanza.c \
26          testutil/format_output.c testutil/load.c testutil/fake_random.c \
27          testutil/test_cleanup.c testutil/main.c testutil/testutil_init.c \
28          testutil/options.c testutil/test_options.c testutil/provider.c \
29          testutil/apps_shims.c testutil/random.c $LIBAPPSSRC
30  INCLUDE[libtestutil.a]=../include ../apps/include ..
31  DEPEND[libtestutil.a]=../libcrypto
32
33  PROGRAMS{noinst}= \
34          confdump \
35          versions \
36          aborttest test_test pkcs12_format_test \
37          sanitytest rsa_complex exdatatest bntest \
38          ecstresstest gmdifftest pbelutest \
39          destest mdc2test sha_test \
40          exptest pbetest localetest evp_pkey_ctx_new_from_name\
41          evp_pkey_provided_test evp_test evp_extra_test evp_extra_test2 \
42          evp_fetch_prov_test evp_libctx_test ossl_store_test \
43          v3nametest v3ext punycode_test \
44          evp_pkey_provided_test evp_test evp_extra_test evp_extra_test2 \
45          evp_fetch_prov_test v3nametest v3ext \
46          crltest danetest bad_dtls_test lhash_test sparse_array_test \
47          conf_include_test params_api_test params_conversion_test \
48          constant_time_test verify_extra_test clienthellotest \
49          packettest asynctest secmemtest srptest memleaktest stack_test \
50          dtlsv1listentest ct_test threadstest afalgtest d2i_test \
51          ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
52          bio_callback_test bio_memleak_test bio_core_test param_build_test \
53          bioprinttest sslapitest dtlstest sslcorrupttest \
54          bio_enc_test pkey_meth_test pkey_meth_kdf_test evp_kdf_test uitest \
55          cipherbytes_test threadstest_fips \
56          asn1_encode_test asn1_decode_test asn1_string_table_test \
57          x509_time_test x509_dup_cert_test x509_check_cert_pkey_test \
58          recordlentest drbgtest rand_status_test sslbuffertest \
59          time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \
60          http_test servername_test ocspapitest fatalerrtest tls13ccstest \
61          sysdefaulttest errtest ssl_ctx_test \
62          context_internal_test aesgcmtest params_test evp_pkey_dparams_test \
63          keymgmt_internal_test hexstr_test provider_status_test defltfips_test \
64          bio_readbuffer_test user_property_test pkcs7_test upcallstest \
65          provfetchtest prov_config_test rand_test fips_version_test \
66          nodefltctxtest
67
68  IF[{- !$disabled{'deprecated-3.0'} -}]
69    PROGRAMS{noinst}=enginetest
70  ENDIF
71
72  SOURCE[confdump]=confdump.c
73  INCLUDE[confdump]=../include ../apps/include
74  DEPEND[confdump]=../libcrypto
75
76  SOURCE[versions]=versions.c
77  INCLUDE[versions]=../include ../apps/include
78  DEPEND[versions]=../libcrypto
79
80  SOURCE[aborttest]=aborttest.c
81  INCLUDE[aborttest]=../include ../apps/include
82  DEPEND[aborttest]=../libcrypto
83
84  SOURCE[sanitytest]=sanitytest.c
85  INCLUDE[sanitytest]=../include ../apps/include
86  DEPEND[sanitytest]=../libcrypto libtestutil.a
87
88  SOURCE[rand_test]=rand_test.c
89  INCLUDE[rand_test]=../include ../apps/include
90  DEPEND[rand_test]=../libcrypto libtestutil.a
91
92  SOURCE[rsa_complex]=rsa_complex.c
93  INCLUDE[rsa_complex]=../include ../apps/include
94
95  SOURCE[test_test]=test_test.c
96  INCLUDE[test_test]=../include ../apps/include
97  DEPEND[test_test]=../libcrypto libtestutil.a
98
99  SOURCE[exdatatest]=exdatatest.c
100  INCLUDE[exdatatest]=../include ../apps/include
101  DEPEND[exdatatest]=../libcrypto libtestutil.a
102
103  SOURCE[bntest]=bntest.c
104  INCLUDE[bntest]=../include ../apps/include
105  DEPEND[bntest]=../libcrypto libtestutil.a
106
107  SOURCE[ectest]=ectest.c
108  INCLUDE[ectest]=../include ../apps/include
109  DEPEND[ectest]=../libcrypto.a libtestutil.a
110
111  SOURCE[ecstresstest]=ecstresstest.c
112  INCLUDE[ecstresstest]=../include ../apps/include
113  DEPEND[ecstresstest]=../libcrypto libtestutil.a
114
115  SOURCE[gmdifftest]=gmdifftest.c
116  INCLUDE[gmdifftest]=../include ../apps/include
117  DEPEND[gmdifftest]=../libcrypto libtestutil.a
118
119  SOURCE[pbelutest]=pbelutest.c
120  INCLUDE[pbelutest]=../include ../apps/include
121  DEPEND[pbelutest]=../libcrypto libtestutil.a
122
123  SOURCE[mdc2test]=mdc2test.c
124  INCLUDE[mdc2test]=../include ../apps/include
125  DEPEND[mdc2test]=../libcrypto libtestutil.a
126
127  SOURCE[sha_test]=sha_test.c
128  INCLUDE[sha_test]=../include ../apps/include
129  DEPEND[sha_test]=../libcrypto libtestutil.a
130
131  SOURCE[enginetest]=enginetest.c
132  INCLUDE[enginetest]=../include ../apps/include
133  DEPEND[enginetest]=../libcrypto libtestutil.a
134
135  SOURCE[exptest]=exptest.c
136  INCLUDE[exptest]=../include ../apps/include
137  DEPEND[exptest]=../libcrypto libtestutil.a
138
139  SOURCE[localetest]=localetest.c
140  INCLUDE[localetest]=../include ../apps/include
141  DEPEND[localetest]=../libcrypto libtestutil.a
142
143  SOURCE[evp_pkey_ctx_new_from_name]=evp_pkey_ctx_new_from_name.c
144  INCLUDE[evp_pkey_ctx_new_from_name]=../include ../apps/include
145  DEPEND[evp_pkey_ctx_new_from_name]=../libcrypto
146
147  SOURCE[pbetest]=pbetest.c
148  INCLUDE[pbetest]=../include ../apps/include
149  DEPEND[pbetest]=../libcrypto libtestutil.a
150
151  SOURCE[fatalerrtest]=fatalerrtest.c helpers/ssltestlib.c
152  INCLUDE[fatalerrtest]=../include ../apps/include
153  DEPEND[fatalerrtest]=../libcrypto ../libssl libtestutil.a
154
155  SOURCE[tls13ccstest]=tls13ccstest.c helpers/ssltestlib.c
156  INCLUDE[tls13ccstest]=../include ../apps/include
157  DEPEND[tls13ccstest]=../libcrypto ../libssl libtestutil.a
158
159  SOURCE[upcallstest]=upcallstest.c
160  INCLUDE[upcallstest]=../include ../apps/include
161  DEPEND[upcallstest]=../libcrypto libtestutil.a
162
163  SOURCE[user_property_test]=user_property_test.c
164  INCLUDE[user_property_test]=../include ../apps/include
165  DEPEND[user_property_test]=../libcrypto libtestutil.a
166
167  SOURCE[evp_test]=evp_test.c
168  INCLUDE[evp_test]=../include ../apps/include
169  DEPEND[evp_test]=../libcrypto libtestutil.a
170  IF[{- $disabled{legacy} || !$target{dso_scheme} -}]
171    DEFINE[evp_test]=NO_LEGACY_MODULE
172  ENDIF
173
174  SOURCE[evp_extra_test]=evp_extra_test.c
175  INCLUDE[evp_extra_test]=../include ../apps/include
176  DEPEND[evp_extra_test]=../libcrypto.a libtestutil.a
177
178  SOURCE[evp_extra_test2]=evp_extra_test2.c
179  INCLUDE[evp_extra_test2]=../include ../apps/include
180  DEPEND[evp_extra_test2]=../libcrypto libtestutil.a
181
182  SOURCE[evp_libctx_test]=evp_libctx_test.c
183  INCLUDE[evp_libctx_test]=../include ../apps/include
184  DEPEND[evp_libctx_test]=../libcrypto.a libtestutil.a
185
186  SOURCE[evp_fetch_prov_test]=evp_fetch_prov_test.c
187  INCLUDE[evp_fetch_prov_test]=../include ../apps/include
188  DEPEND[evp_fetch_prov_test]=../libcrypto libtestutil.a
189
190  SOURCE[provfetchtest]=provfetchtest.c
191  INCLUDE[provfetchtest]=../include ../apps/include
192  DEPEND[provfetchtest]=../libcrypto.a libtestutil.a
193
194  SOURCE[prov_config_test]=prov_config_test.c
195  INCLUDE[prov_config_test]=../include ../apps/include
196  DEPEND[prov_config_test]=../libcrypto.a libtestutil.a
197
198  SOURCE[evp_pkey_provided_test]=evp_pkey_provided_test.c
199  INCLUDE[evp_pkey_provided_test]=../include ../apps/include
200  DEPEND[evp_pkey_provided_test]=../libcrypto.a libtestutil.a
201
202  IF[{- !$disabled{'acvp-tests'} -}]
203    PROGRAMS{noinst}=acvp_test
204
205    SOURCE[acvp_test]=acvp_test.c
206    INCLUDE[acvp_test]=../include ../apps/include
207    DEPEND[acvp_test]=../libcrypto.a libtestutil.a
208  ENDIF
209
210  SOURCE[ossl_store_test]=ossl_store_test.c
211  INCLUDE[ossl_store_test]=../include ../apps/include
212  DEPEND[ossl_store_test]=../libcrypto.a libtestutil.a
213
214  SOURCE[provider_status_test]=provider_status_test.c
215  INCLUDE[provider_status_test]=../include ../apps/include
216  DEPEND[provider_status_test]=../libcrypto.a libtestutil.a
217
218  SOURCE[nodefltctxtest]=nodefltctxtest.c
219  INCLUDE[nodefltctxtest]=../include ../apps/include
220  DEPEND[nodefltctxtest]=../libcrypto.a libtestutil.a
221
222  IF[{- !$disabled{'deprecated-3.0'} -}]
223    PROGRAMS{noinst}=igetest bftest casttest
224
225    SOURCE[igetest]=igetest.c
226    INCLUDE[igetest]=../include ../apps/include
227    DEPEND[igetest]=../libcrypto libtestutil.a
228
229    SOURCE[bftest]=bftest.c
230    INCLUDE[bftest]=../include ../apps/include
231    DEPEND[bftest]=../libcrypto libtestutil.a
232
233    SOURCE[casttest]=casttest.c
234    INCLUDE[casttest]=../include ../apps/include
235    DEPEND[casttest]=../libcrypto libtestutil.a
236  ENDIF
237
238  SOURCE[v3nametest]=v3nametest.c
239  INCLUDE[v3nametest]=../include ../apps/include
240  DEPEND[v3nametest]=../libcrypto libtestutil.a
241
242  SOURCE[crltest]=crltest.c
243  INCLUDE[crltest]=../include ../apps/include
244  DEPEND[crltest]=../libcrypto libtestutil.a
245
246  SOURCE[v3ext]=v3ext.c
247  INCLUDE[v3ext]=../include ../apps/include
248  DEPEND[v3ext]=../libcrypto libtestutil.a
249
250  SOURCE[danetest]=danetest.c
251  INCLUDE[danetest]=../include ../apps/include
252  DEPEND[danetest]=../libcrypto ../libssl libtestutil.a
253
254  SOURCE[constant_time_test]=constant_time_test.c
255  INCLUDE[constant_time_test]=../include ../apps/include
256  DEPEND[constant_time_test]=../libcrypto libtestutil.a
257
258  SOURCE[verify_extra_test]=verify_extra_test.c
259  INCLUDE[verify_extra_test]=../include ../apps/include
260  DEPEND[verify_extra_test]=../libcrypto libtestutil.a
261
262  SOURCE[clienthellotest]=clienthellotest.c
263  INCLUDE[clienthellotest]=../include ../apps/include
264  DEPEND[clienthellotest]=../libcrypto ../libssl libtestutil.a
265
266  SOURCE[bad_dtls_test]=bad_dtls_test.c
267  INCLUDE[bad_dtls_test]=../include ../apps/include
268  DEPEND[bad_dtls_test]=../libcrypto ../libssl libtestutil.a
269
270  SOURCE[packettest]=packettest.c
271  INCLUDE[packettest]=../include ../apps/include
272  DEPEND[packettest]=../libcrypto libtestutil.a
273
274  SOURCE[asynctest]=asynctest.c
275  INCLUDE[asynctest]=../include ../apps/include
276  DEPEND[asynctest]=../libcrypto
277
278  SOURCE[secmemtest]=secmemtest.c
279  INCLUDE[secmemtest]=../include ../apps/include
280  DEPEND[secmemtest]=../libcrypto libtestutil.a
281
282  SOURCE[srptest]=srptest.c
283  INCLUDE[srptest]=../include ../apps/include
284  DEPEND[srptest]=../libcrypto libtestutil.a
285
286  SOURCE[memleaktest]=memleaktest.c
287  INCLUDE[memleaktest]=../include ../apps/include
288  DEPEND[memleaktest]=../libcrypto libtestutil.a
289
290  SOURCE[pkcs12_format_test]=pkcs12_format_test.c helpers/pkcs12.c
291  INCLUDE[pkcs12_format_test]=../include ../apps/include
292  DEPEND[pkcs12_format_test]=../libcrypto libtestutil.a
293
294  SOURCE[pkcs7_test]=pkcs7_test.c
295  INCLUDE[pkcs7_test]=../include ../apps/include
296  DEPEND[pkcs7_test]=../libcrypto libtestutil.a
297
298  SOURCE[punycode_test]=punycode_test.c
299  INCLUDE[punycode_test]=../include ../apps/include
300  DEPEND[punycode_test]=../libcrypto.a libtestutil.a
301
302  SOURCE[stack_test]=stack_test.c
303  INCLUDE[stack_test]=../include ../apps/include
304  DEPEND[stack_test]=../libcrypto libtestutil.a
305
306  SOURCE[lhash_test]=lhash_test.c
307  INCLUDE[lhash_test]=../include ../apps/include
308  DEPEND[lhash_test]=../libcrypto libtestutil.a
309
310  SOURCE[dtlsv1listentest]=dtlsv1listentest.c
311  INCLUDE[dtlsv1listentest]=../include ../apps/include
312  DEPEND[dtlsv1listentest]=../libssl libtestutil.a
313
314  SOURCE[ct_test]=ct_test.c
315  INCLUDE[ct_test]=../include ../apps/include
316  DEPEND[ct_test]=../libcrypto libtestutil.a
317
318  SOURCE[threadstest]=threadstest.c
319  INCLUDE[threadstest]=../include ../apps/include
320  DEPEND[threadstest]=../libcrypto libtestutil.a
321
322  SOURCE[threadstest_fips]=threadstest_fips.c
323  INCLUDE[threadstest_fips]=../include ../apps/include
324  DEPEND[threadstest_fips]=../libcrypto libtestutil.a
325
326  SOURCE[afalgtest]=afalgtest.c
327  INCLUDE[afalgtest]=../include ../apps/include
328  DEPEND[afalgtest]=../libcrypto libtestutil.a
329
330  SOURCE[d2i_test]=d2i_test.c
331  INCLUDE[d2i_test]=../include ../apps/include
332  DEPEND[d2i_test]=../libcrypto libtestutil.a
333
334  SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c helpers/ssl_test_ctx.c
335  INCLUDE[ssl_test_ctx_test]=../include ../apps/include
336  DEPEND[ssl_test_ctx_test]=../libcrypto ../libssl libtestutil.a
337
338  SOURCE[ssl_test]=ssl_test.c helpers/ssl_test_ctx.c helpers/handshake.c
339  IF[{- !$disabled{'srp'} -}]
340    SOURCE[ssl_test]=helpers/handshake_srp.c
341  ENDIF
342  INCLUDE[ssl_test]=../include ../apps/include
343  DEPEND[ssl_test]=../libcrypto ../libssl libtestutil.a
344
345  SOURCE[cipherlist_test]=cipherlist_test.c
346  INCLUDE[cipherlist_test]=../include ../apps/include
347  DEPEND[cipherlist_test]=../libcrypto ../libssl libtestutil.a
348
349  INCLUDE[helpers/ssl_test_ctx.o]=../include
350  INCLUDE[helpers/handshake.o]=.. ../include
351  INCLUDE[helpers/pkcs12.o]=.. ../include
352  INCLUDE[helpers/ssltestlib.o]=.. ../include
353  INCLUDE[helpers/cmp_testlib.o]=.. ../include ../apps/include
354
355  SOURCE[x509aux]=x509aux.c
356  INCLUDE[x509aux]=../include ../apps/include
357  DEPEND[x509aux]=../libcrypto libtestutil.a
358
359  SOURCE[asynciotest]=asynciotest.c helpers/ssltestlib.c
360  INCLUDE[asynciotest]=../include ../apps/include
361  DEPEND[asynciotest]=../libcrypto ../libssl libtestutil.a
362
363  SOURCE[bio_callback_test]=bio_callback_test.c
364  INCLUDE[bio_callback_test]=../include ../apps/include
365  DEPEND[bio_callback_test]=../libcrypto libtestutil.a
366
367  SOURCE[bio_readbuffer_test]=bio_readbuffer_test.c
368  INCLUDE[bio_readbuffer_test]=../include ../apps/include
369  DEPEND[bio_readbuffer_test]=../libcrypto libtestutil.a
370
371  SOURCE[bio_memleak_test]=bio_memleak_test.c
372  INCLUDE[bio_memleak_test]=../include ../apps/include
373  DEPEND[bio_memleak_test]=../libcrypto libtestutil.a
374
375  SOURCE[bioprinttest]=bioprinttest.c
376  INCLUDE[bioprinttest]=../include ../apps/include
377  DEPEND[bioprinttest]=../libcrypto libtestutil.a
378
379  SOURCE[bio_core_test]=bio_core_test.c
380  INCLUDE[bio_core_test]=../include ../apps/include
381  DEPEND[bio_core_test]=../libcrypto libtestutil.a
382
383  SOURCE[params_api_test]=params_api_test.c
384  INCLUDE[params_api_test]=../include ../apps/include
385  DEPEND[params_api_test]=../libcrypto libtestutil.a
386
387  SOURCE[params_conversion_test]=params_conversion_test.c
388  INCLUDE[params_conversion_test]=../include ../apps/include
389  DEPEND[params_conversion_test]=../libcrypto libtestutil.a
390
391  SOURCE[param_build_test]=param_build_test.c
392  INCLUDE[param_build_test]=../include ../apps/include
393  DEPEND[param_build_test]=../libcrypto.a libtestutil.a
394
395  SOURCE[sslapitest]=sslapitest.c helpers/ssltestlib.c filterprov.c tls-provider.c
396  INCLUDE[sslapitest]=../include ../apps/include ..
397  DEPEND[sslapitest]=../libcrypto ../libssl libtestutil.a
398
399  SOURCE[defltfips_test]=defltfips_test.c
400  INCLUDE[defltfips_test]=../include  ../apps/include
401  DEPEND[defltfips_test]=../libcrypto libtestutil.a
402
403  SOURCE[fips_version_test]=fips_version_test.c
404  INCLUDE[fips_version_test]=../include  ../apps/include
405  DEPEND[fips_version_test]=../libcrypto libtestutil.a
406
407  SOURCE[ocspapitest]=ocspapitest.c
408  INCLUDE[ocspapitest]=../include ../apps/include
409  DEPEND[ocspapitest]=../libcrypto libtestutil.a
410
411  IF[{- !$disabled{sock} -}]
412    PROGRAMS{noinst}=http_test
413  ENDIF
414
415  SOURCE[http_test]=http_test.c
416  INCLUDE[http_test]=../include ../apps/include
417  DEPEND[http_test]=../libcrypto libtestutil.a
418
419  SOURCE[dtlstest]=dtlstest.c helpers/ssltestlib.c
420  INCLUDE[dtlstest]=../include ../apps/include
421  DEPEND[dtlstest]=../libcrypto ../libssl libtestutil.a
422
423  SOURCE[sslcorrupttest]=sslcorrupttest.c helpers/ssltestlib.c
424  INCLUDE[sslcorrupttest]=../include ../apps/include
425  DEPEND[sslcorrupttest]=../libcrypto ../libssl libtestutil.a
426
427  SOURCE[bio_enc_test]=bio_enc_test.c
428  INCLUDE[bio_enc_test]=../include ../apps/include
429  DEPEND[bio_enc_test]=../libcrypto libtestutil.a
430
431  SOURCE[pkey_meth_test]=pkey_meth_test.c
432  INCLUDE[pkey_meth_test]=../include ../apps/include
433  DEPEND[pkey_meth_test]=../libcrypto libtestutil.a
434
435  SOURCE[pkey_meth_kdf_test]=pkey_meth_kdf_test.c
436  INCLUDE[pkey_meth_kdf_test]=../include ../apps/include
437  DEPEND[pkey_meth_kdf_test]=../libcrypto libtestutil.a
438
439  SOURCE[evp_kdf_test]=evp_kdf_test.c
440  INCLUDE[evp_kdf_test]=../include ../apps/include
441  DEPEND[evp_kdf_test]=../libcrypto libtestutil.a
442
443  SOURCE[evp_pkey_dparams_test]=evp_pkey_dparams_test.c
444  INCLUDE[evp_pkey_dparams_test]=../include ../apps/include
445  DEPEND[evp_pkey_dparams_test]=../libcrypto libtestutil.a
446
447  SOURCE[x509_time_test]=x509_time_test.c
448  INCLUDE[x509_time_test]=../include ../apps/include
449  DEPEND[x509_time_test]=../libcrypto libtestutil.a
450
451  SOURCE[recordlentest]=recordlentest.c helpers/ssltestlib.c
452  INCLUDE[recordlentest]=../include ../apps/include
453  DEPEND[recordlentest]=../libcrypto ../libssl libtestutil.a
454
455  SOURCE[drbgtest]=drbgtest.c
456  INCLUDE[drbgtest]=../include ../apps/include ../providers/common/include
457  DEPEND[drbgtest]=../libcrypto.a libtestutil.a
458
459  SOURCE[rand_status_test]=rand_status_test.c
460  INCLUDE[rand_status_test]=../include ../apps/include
461  DEPEND[rand_status_test]=../libcrypto libtestutil.a
462
463  SOURCE[x509_dup_cert_test]=x509_dup_cert_test.c
464  INCLUDE[x509_dup_cert_test]=../include ../apps/include
465  DEPEND[x509_dup_cert_test]=../libcrypto libtestutil.a
466
467  SOURCE[x509_check_cert_pkey_test]=x509_check_cert_pkey_test.c
468  INCLUDE[x509_check_cert_pkey_test]=../include ../apps/include
469  DEPEND[x509_check_cert_pkey_test]=../libcrypto libtestutil.a
470
471  SOURCE[pemtest]=pemtest.c
472  INCLUDE[pemtest]=../include ../apps/include
473  DEPEND[pemtest]=../libcrypto libtestutil.a
474
475  SOURCE[ssl_cert_table_internal_test]=ssl_cert_table_internal_test.c
476  INCLUDE[ssl_cert_table_internal_test]=.. ../include ../apps/include
477  DEPEND[ssl_cert_table_internal_test]=../libcrypto libtestutil.a
478
479  SOURCE[ciphername_test]=ciphername_test.c
480  INCLUDE[ciphername_test]=../include ../apps/include
481  DEPEND[ciphername_test]=../libcrypto ../libssl libtestutil.a
482
483  SOURCE[http_test]=http_test.c
484  INCLUDE[http_test]=../include ../apps/include
485  DEPEND[http_test]=../libcrypto libtestutil.a
486
487  SOURCE[servername_test]=servername_test.c helpers/ssltestlib.c
488  INCLUDE[servername_test]=../include ../apps/include
489  DEPEND[servername_test]=../libcrypto ../libssl libtestutil.a
490
491  IF[{- !$disabled{cms} -}]
492    PROGRAMS{noinst}=cmsapitest
493    SOURCE[cmsapitest]=cmsapitest.c
494    INCLUDE[cmsapitest]=../include ../apps/include
495    DEPEND[cmsapitest]=../libcrypto libtestutil.a
496  ENDIF
497
498  IF[{- !$disabled{psk} -}]
499    PROGRAMS{noinst}=dtls_mtu_test
500    SOURCE[dtls_mtu_test]=dtls_mtu_test.c helpers/ssltestlib.c
501    INCLUDE[dtls_mtu_test]=.. ../include ../apps/include
502    DEPEND[dtls_mtu_test]=../libcrypto ../libssl libtestutil.a
503  ENDIF
504
505  IF[{- !$disabled{shared} -}]
506    PROGRAMS{noinst}=shlibloadtest
507    SOURCE[shlibloadtest]=shlibloadtest.c simpledynamic.c
508    INCLUDE[shlibloadtest]=../include ../apps/include
509
510    PROGRAMS{noinst}=moduleloadtest
511    SOURCE[moduleloadtest]=moduleloadtest.c simpledynamic.c
512    INCLUDE[moduleloadtest]=../include ../apps/include
513  ENDIF
514
515  # cipher_overhead_test uses internal symbols, so it must be linked with
516  # the static libraries
517  PROGRAMS{noinst}=cipher_overhead_test
518  SOURCE[cipher_overhead_test]=cipher_overhead_test.c
519  INCLUDE[cipher_overhead_test]=.. ../include ../apps/include
520  DEPEND[cipher_overhead_test]=../libcrypto.a ../libssl.a libtestutil.a
521
522  SOURCE[uitest]=uitest.c ../apps/lib/apps_ui.c
523  INCLUDE[uitest]=.. ../include ../apps/include
524  DEPEND[uitest]=../libcrypto ../libssl libtestutil.a
525
526  SOURCE[cipherbytes_test]=cipherbytes_test.c
527  INCLUDE[cipherbytes_test]=../include ../apps/include
528  DEPEND[cipherbytes_test]=../libcrypto ../libssl libtestutil.a
529
530  SOURCE[asn1_encode_test]=asn1_encode_test.c
531  INCLUDE[asn1_encode_test]=../include ../apps/include
532  DEPEND[asn1_encode_test]=../libcrypto libtestutil.a
533
534  SOURCE[asn1_decode_test]=asn1_decode_test.c
535  INCLUDE[asn1_decode_test]=../include ../apps/include
536  DEPEND[asn1_decode_test]=../libcrypto libtestutil.a
537
538  SOURCE[asn1_string_table_test]=asn1_string_table_test.c
539  INCLUDE[asn1_string_table_test]=../include ../apps/include
540  DEPEND[asn1_string_table_test]=../libcrypto libtestutil.a
541
542  SOURCE[time_offset_test]=time_offset_test.c
543  INCLUDE[time_offset_test]=../include ../apps/include
544  DEPEND[time_offset_test]=../libcrypto libtestutil.a
545
546  SOURCE[conf_include_test]=conf_include_test.c
547  INCLUDE[conf_include_test]=../include ../apps/include
548  DEPEND[conf_include_test]=../libcrypto libtestutil.a
549
550  IF[{- !$disabled{cmp} -}]
551    PROGRAMS{noinst}=cmp_asn_test cmp_ctx_test cmp_status_test cmp_hdr_test \
552                     cmp_protect_test cmp_msg_test cmp_vfy_test \
553                     cmp_server_test cmp_client_test
554  ENDIF
555
556  SOURCE[cmp_asn_test]=cmp_asn_test.c helpers/cmp_testlib.c
557  INCLUDE[cmp_asn_test]=.. ../include ../apps/include
558  DEPEND[cmp_asn_test]=../libcrypto.a libtestutil.a
559
560  SOURCE[cmp_ctx_test]=cmp_ctx_test.c helpers/cmp_testlib.c
561  INCLUDE[cmp_ctx_test]=.. ../include ../apps/include
562  DEPEND[cmp_ctx_test]=../libcrypto.a libtestutil.a
563
564  SOURCE[cmp_hdr_test]=cmp_hdr_test.c helpers/cmp_testlib.c
565  INCLUDE[cmp_hdr_test]=.. ../include ../apps/include
566  DEPEND[cmp_hdr_test]=../libcrypto.a libtestutil.a
567
568  SOURCE[cmp_status_test]=cmp_status_test.c helpers/cmp_testlib.c
569  INCLUDE[cmp_status_test]=.. ../include ../apps/include
570  DEPEND[cmp_status_test]=../libcrypto.a libtestutil.a
571
572  SOURCE[cmp_protect_test]=cmp_protect_test.c helpers/cmp_testlib.c
573  INCLUDE[cmp_protect_test]=.. ../include ../apps/include
574  DEPEND[cmp_protect_test]=../libcrypto.a libtestutil.a
575
576  SOURCE[cmp_msg_test]=cmp_msg_test.c helpers/cmp_testlib.c
577  INCLUDE[cmp_msg_test]=.. ../include ../apps/include
578  DEPEND[cmp_msg_test]=../libcrypto.a libtestutil.a
579
580  SOURCE[cmp_vfy_test]=cmp_vfy_test.c helpers/cmp_testlib.c
581  INCLUDE[cmp_vfy_test]=.. ../include ../apps/include
582  DEPEND[cmp_vfy_test]=../libcrypto.a libtestutil.a
583
584  SOURCE[cmp_server_test]=cmp_server_test.c helpers/cmp_testlib.c
585  INCLUDE[cmp_server_test]=.. ../include ../apps/include
586  DEPEND[cmp_server_test]=../libcrypto.a libtestutil.a
587
588  SOURCE[cmp_client_test]=cmp_client_test.c helpers/cmp_testlib.c ../apps/lib/cmp_mock_srv.c
589  INCLUDE[cmp_client_test]=.. ../include ../apps/include
590  DEPEND[cmp_client_test]=../libcrypto.a libtestutil.a
591
592  # Internal test programs.  These are essentially a collection of internal
593  # test routines.  Some of them need to reach internal symbols that aren't
594  # available through the shared library (at least on Linux, Solaris, Windows
595  # and VMS, where the exported symbols are those listed in util/*.num), these
596  # programs are forcibly linked with the static libraries, where all symbols
597  # are always available.
598  IF[1]
599    PROGRAMS{noinst}=asn1_internal_test modes_internal_test x509_internal_test \
600                     tls13encryptiontest wpackettest ctype_internal_test \
601                     rdrand_sanitytest property_test ideatest rsa_mp_test \
602                     rsa_sp800_56b_test bn_internal_test ecdsatest rsa_test \
603                     rc2test rc4test rc5test hmactest ffc_internal_test \
604                     asn1_dsa_internal_test dsatest dsa_no_digest_size_test \
605                     dhtest ssl_old_test
606
607    IF[{- !$disabled{poly1305} -}]
608      PROGRAMS{noinst}=poly1305_internal_test
609    ENDIF
610    IF[{- !$disabled{chacha} -}]
611      PROGRAMS{noinst}=chacha_internal_test
612    ENDIF
613    IF[{- !$disabled{siphash} -}]
614      PROGRAMS{noinst}=siphash_internal_test
615    ENDIF
616    IF[{- !$disabled{sm2} -}]
617      PROGRAMS{noinst}=sm2_internal_test
618    ENDIF
619    IF[{- !$disabled{sm3} -}]
620      PROGRAMS{noinst}=sm3_internal_test
621    ENDIF
622    IF[{- !$disabled{sm4} -}]
623      PROGRAMS{noinst}=sm4_internal_test
624    ENDIF
625    IF[{- !$disabled{ec} -}]
626      PROGRAMS{noinst}=ectest ec_internal_test curve448_internal_test
627    ENDIF
628    IF[{- !$disabled{cmac} -}]
629      PROGRAMS{noinst}=cmactest
630    ENDIF
631
632    SOURCE[poly1305_internal_test]=poly1305_internal_test.c
633    INCLUDE[poly1305_internal_test]=.. ../include ../apps/include
634    DEPEND[poly1305_internal_test]=../libcrypto.a libtestutil.a
635
636    SOURCE[chacha_internal_test]=chacha_internal_test.c
637    INCLUDE[chacha_internal_test]=.. ../include ../apps/include
638    DEPEND[chacha_internal_test]=../libcrypto.a libtestutil.a
639
640    SOURCE[asn1_internal_test]=asn1_internal_test.c
641    INCLUDE[asn1_internal_test]=.. ../include ../apps/include
642    DEPEND[asn1_internal_test]=../libcrypto.a libtestutil.a
643
644    SOURCE[modes_internal_test]=modes_internal_test.c
645    INCLUDE[modes_internal_test]=.. ../include ../apps/include
646    DEPEND[modes_internal_test]=../libcrypto.a libtestutil.a
647
648    SOURCE[x509_internal_test]=x509_internal_test.c
649    INCLUDE[x509_internal_test]=.. ../include ../apps/include
650    DEPEND[x509_internal_test]=../libcrypto.a libtestutil.a
651
652    SOURCE[rsa_test]=rsa_test.c
653    INCLUDE[rsa_test]=../include ../apps/include
654    DEPEND[rsa_test]=../libcrypto.a libtestutil.a
655
656    SOURCE[rsa_mp_test]=rsa_mp_test.c
657    INCLUDE[rsa_mp_test]=../include ../apps/include
658    DEPEND[rsa_mp_test]=../libcrypto.a libtestutil.a
659
660    SOURCE[ecdsatest]=ecdsatest.c
661    INCLUDE[ecdsatest]=../include ../apps/include
662    DEPEND[ecdsatest]=../libcrypto.a libtestutil.a
663
664    SOURCE[dsatest]=dsatest.c
665    INCLUDE[dsatest]=../include ../apps/include
666    DEPEND[dsatest]=../libcrypto.a libtestutil.a
667
668    SOURCE[dsa_no_digest_size_test]=dsa_no_digest_size_test.c
669    INCLUDE[dsa_no_digest_size_test]=../include ../apps/include
670    DEPEND[dsa_no_digest_size_test]=../libcrypto.a libtestutil.a
671
672    SOURCE[tls13encryptiontest]=tls13encryptiontest.c
673    INCLUDE[tls13encryptiontest]=.. ../include ../apps/include
674    DEPEND[tls13encryptiontest]=../libcrypto.a ../libssl.a libtestutil.a
675
676    SOURCE[ideatest]=ideatest.c
677    INCLUDE[ideatest]=../include ../apps/include
678    DEPEND[ideatest]=../libcrypto.a libtestutil.a
679
680    SOURCE[wpackettest]=wpackettest.c
681    INCLUDE[wpackettest]=../include ../apps/include
682    DEPEND[wpackettest]=../libcrypto.a ../libssl.a libtestutil.a
683
684    SOURCE[property_test]=property_test.c
685    INCLUDE[property_test]=.. ../include ../apps/include
686    DEPEND[property_test]=../libcrypto.a libtestutil.a
687
688    SOURCE[ctype_internal_test]=ctype_internal_test.c
689    INCLUDE[ctype_internal_test]=.. ../include ../apps/include
690    DEPEND[ctype_internal_test]=../libcrypto.a libtestutil.a
691
692    SOURCE[sparse_array_test]=sparse_array_test.c
693    INCLUDE[sparse_array_test]=../include ../apps/include
694    DEPEND[sparse_array_test]=../libcrypto.a libtestutil.a
695
696    SOURCE[dhtest]=dhtest.c
697    INCLUDE[dhtest]=../include ../apps/include
698    DEPEND[dhtest]=../libcrypto.a libtestutil.a
699
700    SOURCE[hmactest]=hmactest.c
701    INCLUDE[hmactest]=../include ../apps/include
702    DEPEND[hmactest]=../libcrypto.a libtestutil.a
703
704    IF[{- !$disabled{cmac} -}]
705      SOURCE[cmactest]=cmactest.c
706      INCLUDE[cmactest]=../include ../apps/include
707      DEPEND[cmactest]=../libcrypto.a libtestutil.a
708    ENDIF
709
710    SOURCE[siphash_internal_test]=siphash_internal_test.c
711    INCLUDE[siphash_internal_test]=.. ../include ../apps/include
712    DEPEND[siphash_internal_test]=../libcrypto.a libtestutil.a
713
714    SOURCE[sm2_internal_test]=sm2_internal_test.c
715    INCLUDE[sm2_internal_test]=../include ../apps/include
716    DEPEND[sm2_internal_test]=../libcrypto.a libtestutil.a
717
718    SOURCE[sm3_internal_test]=sm3_internal_test.c
719    INCLUDE[sm3_internal_test]=../include ../apps/include
720    DEPEND[sm3_internal_test]=../libcrypto.a libtestutil.a
721
722    SOURCE[sm4_internal_test]=sm4_internal_test.c
723    INCLUDE[sm4_internal_test]=.. ../include ../apps/include
724    DEPEND[sm4_internal_test]=../libcrypto.a libtestutil.a
725
726    SOURCE[destest]=destest.c
727    INCLUDE[destest]=../include ../apps/include
728    DEPEND[destest]=../libcrypto.a libtestutil.a
729
730    SOURCE[rc2test]=rc2test.c
731    INCLUDE[rc2test]=../include ../apps/include
732    DEPEND[rc2test]=../libcrypto.a libtestutil.a
733
734    SOURCE[rc4test]=rc4test.c
735    INCLUDE[rc4test]=../include ../apps/include
736    DEPEND[rc4test]=../libcrypto.a libtestutil.a
737
738    SOURCE[rc5test]=rc5test.c
739    INCLUDE[rc5test]=../include ../apps/include
740    DEPEND[rc5test]=../libcrypto.a libtestutil.a
741
742    SOURCE[ec_internal_test]=ec_internal_test.c $INITSRC
743    INCLUDE[ec_internal_test]=../include ../crypto/ec ../apps/include
744    DEPEND[ec_internal_test]=../libcrypto.a libtestutil.a
745
746    SOURCE[curve448_internal_test]=curve448_internal_test.c
747    INCLUDE[curve448_internal_test]=.. ../include ../apps/include ../crypto/ec/curve448
748    DEPEND[curve448_internal_test]=../libcrypto.a libtestutil.a
749
750    SOURCE[rc4test]=rc4test.c
751    INCLUDE[rc4test]=../include ../apps/include
752    DEPEND[rc4test]=../libcrypto.a libtestutil.a
753
754    SOURCE[rdrand_sanitytest]=rdrand_sanitytest.c
755    INCLUDE[rdrand_sanitytest]=../include ../apps/include
756    DEPEND[rdrand_sanitytest]=../libcrypto.a libtestutil.a
757
758    SOURCE[rsa_sp800_56b_test]=rsa_sp800_56b_test.c
759    INCLUDE[rsa_sp800_56b_test]=.. ../include ../crypto/rsa ../apps/include
760    DEPEND[rsa_sp800_56b_test]=../libcrypto.a libtestutil.a
761
762    SOURCE[bn_internal_test]=bn_internal_test.c
763    INCLUDE[bn_internal_test]=.. ../include ../crypto/bn ../apps/include
764    DEPEND[bn_internal_test]=../libcrypto.a libtestutil.a
765
766    SOURCE[asn1_dsa_internal_test]=asn1_dsa_internal_test.c
767    INCLUDE[asn1_dsa_internal_test]=.. ../include ../apps/include
768    DEPEND[asn1_dsa_internal_test]=../libcrypto.a libtestutil.a
769
770    SOURCE[keymgmt_internal_test]=keymgmt_internal_test.c
771    INCLUDE[keymgmt_internal_test]=.. ../include ../apps/include
772    DEPEND[keymgmt_internal_test]=../libcrypto.a libtestutil.a
773
774    SOURCE[ffc_internal_test]=ffc_internal_test.c
775    INCLUDE[ffc_internal_test]=.. ../include ../apps/include
776    DEPEND[ffc_internal_test]=../libcrypto.a libtestutil.a
777
778    IF[{- !$disabled{mdc2} -}]
779      PROGRAMS{noinst}=mdc2_internal_test
780    ENDIF
781
782    SOURCE[mdc2_internal_test]=mdc2_internal_test.c
783    INCLUDE[mdc2_internal_test]=.. ../include ../apps/include
784    DEPEND[mdc2_internal_test]=../libcrypto.a libtestutil.a
785
786    SOURCE[ssl_old_test]=ssl_old_test.c helpers/predefined_dhparams.c
787    INCLUDE[ssl_old_test]=.. ../include ../apps/include
788    DEPEND[ssl_old_test]=../libcrypto.a ../libssl.a libtestutil.a
789
790    PROGRAMS{noinst}=ext_internal_test
791    SOURCE[ext_internal_test]=ext_internal_test.c
792    INCLUDE[ext_internal_test]=.. ../include ../apps/include
793    DEPEND[ext_internal_test]=../libcrypto.a ../libssl.a libtestutil.a
794
795    PROGRAMS{noinst}=algorithmid_test
796    SOURCE[algorithmid_test]=algorithmid_test.c
797    INCLUDE[algorithmid_test]=../include ../apps/include
798    DEPEND[algorithmid_test]=../libcrypto.a libtestutil.a
799  ENDIF
800
801  PROGRAMS{noinst}=asn1_time_test
802  SOURCE[asn1_time_test]=asn1_time_test.c
803  INCLUDE[asn1_time_test]=../include ../apps/include
804  DEPEND[asn1_time_test]=../libcrypto libtestutil.a
805
806  # We disable this test completely in a shared build because it deliberately
807  # redefines some internal libssl symbols. This doesn't work in a non-shared
808  # build
809  IF[{- !$disabled{shared} -}]
810    PROGRAMS{noinst}=tls13secretstest
811    SOURCE[tls13secretstest]=tls13secretstest.c
812    DEFINE[tls13secretstest]=OPENSSL_NO_KTLS
813    SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../crypto/packet.c
814    INCLUDE[tls13secretstest]=.. ../include ../apps/include
815    DEPEND[tls13secretstest]=../libcrypto ../libssl libtestutil.a
816  ENDIF
817
818  SOURCE[sslbuffertest]=sslbuffertest.c helpers/ssltestlib.c
819  INCLUDE[sslbuffertest]=../include ../apps/include
820  DEPEND[sslbuffertest]=../libcrypto ../libssl libtestutil.a
821
822  SOURCE[sysdefaulttest]=sysdefaulttest.c
823  INCLUDE[sysdefaulttest]=../include ../apps/include
824  DEPEND[sysdefaulttest]=../libcrypto ../libssl libtestutil.a
825
826  SOURCE[errtest]=errtest.c
827  INCLUDE[errtest]=../include ../apps/include
828  DEPEND[errtest]=../libcrypto libtestutil.a
829
830  SOURCE[aesgcmtest]=aesgcmtest.c
831  INCLUDE[aesgcmtest]=../include ../apps/include ..
832  DEPEND[aesgcmtest]=../libcrypto libtestutil.a
833
834  PROGRAMS{noinst}=context_internal_test
835  SOURCE[context_internal_test]=context_internal_test.c
836  INCLUDE[context_internal_test]=.. ../include ../apps/include
837  DEPEND[context_internal_test]=../libcrypto.a libtestutil.a
838
839  PROGRAMS{noinst}=provider_internal_test
840  DEFINE[provider_internal_test]=PROVIDER_INIT_FUNCTION_NAME=p_test_init
841  SOURCE[provider_internal_test]=provider_internal_test.c p_test.c
842  INCLUDE[provider_internal_test]=../include ../apps/include ..
843  DEPEND[provider_internal_test]=../libcrypto.a libtestutil.a
844  PROGRAMS{noinst}=provider_test
845  DEFINE[provider_test]=PROVIDER_INIT_FUNCTION_NAME=p_test_init
846  SOURCE[provider_test]=provider_test.c p_test.c
847  INCLUDE[provider_test]=../include ../apps/include ..
848  DEPEND[provider_test]=../libcrypto.a libtestutil.a
849  IF[{- !$disabled{module} -}]
850    MODULES{noinst}=p_test
851    SOURCE[p_test]=p_test.c
852    INCLUDE[p_test]=../include ..
853    IF[{- defined $target{shared_defflag} -}]
854      SOURCE[p_test]=p_test.ld
855      GENERATE[p_test.ld]=../util/providers.num
856    ENDIF
857  ENDIF
858  IF[{- $disabled{module} || !$target{dso_scheme} -}]
859    DEFINE[provider_test]=NO_PROVIDER_MODULE
860    DEFINE[provider_internal_test]=NO_PROVIDER_MODULE
861  ENDIF
862  DEPEND[]=provider_internal_test.cnf
863  GENERATE[provider_internal_test.cnf]=provider_internal_test.cnf.in
864
865  PROGRAMS{noinst}=provider_fallback_test
866  SOURCE[provider_fallback_test]=provider_fallback_test.c
867  INCLUDE[provider_fallback_test]=../include ../apps/include
868  DEPEND[provider_fallback_test]=../libcrypto libtestutil.a
869
870  PROGRAMS{noinst}=provider_pkey_test
871  SOURCE[provider_pkey_test]=provider_pkey_test.c fake_rsaprov.c
872  INCLUDE[provider_pkey_test]=../include ../apps/include
873  DEPEND[provider_pkey_test]=../libcrypto libtestutil.a
874
875  PROGRAMS{noinst}=params_test
876  SOURCE[params_test]=params_test.c
877  INCLUDE[params_test]=.. ../include ../apps/include
878  DEPEND[params_test]=../libcrypto.a libtestutil.a
879
880  PROGRAMS{noinst}=hexstr_test
881  SOURCE[hexstr_test]=hexstr_test.c
882  INCLUDE[hexstr_test]=.. ../include ../apps/include
883  DEPEND[hexstr_test]=../libcrypto.a libtestutil.a
884
885  PROGRAMS{noinst}=trace_api_test
886  SOURCE[trace_api_test]=trace_api_test.c
887  INCLUDE[trace_api_test]=.. ../include ../apps/include
888  DEPEND[trace_api_test]=../libcrypto.a libtestutil.a
889
890  PROGRAMS{noinst}=endecode_test
891  SOURCE[endecode_test]=endecode_test.c helpers/predefined_dhparams.c
892  INCLUDE[endecode_test]=.. ../include ../apps/include
893  DEPEND[endecode_test]=../libcrypto.a libtestutil.a
894
895  IF[{- !$disabled{'deprecated-3.0'} -}]
896    PROGRAMS{noinst}=endecoder_legacy_test
897    SOURCE[endecoder_legacy_test]=endecoder_legacy_test.c
898    INCLUDE[endecoder_legacy_test]=.. ../include ../apps/include
899    DEPEND[endecoder_legacy_test]=../libcrypto.a libtestutil.a
900  ENDIF
901
902  PROGRAMS{noinst}=namemap_internal_test
903  SOURCE[namemap_internal_test]=namemap_internal_test.c
904  INCLUDE[namemap_internal_test]=.. ../include ../apps/include
905  DEPEND[namemap_internal_test]=../libcrypto.a libtestutil.a
906
907  PROGRAMS{noinst}=bio_prefix_text
908  SOURCE[bio_prefix_text]=bio_prefix_text.c
909  INCLUDE[bio_prefix_text]=.. ../include ../apps/include
910  DEPEND[bio_prefix_text]=../libcrypto libtestutil.a
911
912  IF[{- !$disabled{'deprecated-3.0'} -}]
913    PROGRAMS{noinst}=pem_read_depr_test
914    SOURCE[pem_read_depr_test]=pem_read_depr_test.c
915    INCLUDE[pem_read_depr_test]=../include ../apps/include
916    DEPEND[pem_read_depr_test]=../libcrypto libtestutil.a
917  ENDIF
918ENDIF
919
920  SOURCE[ssl_ctx_test]=ssl_ctx_test.c
921  INCLUDE[ssl_ctx_test]=../include ../apps/include
922  DEPEND[ssl_ctx_test]=../libcrypto ../libssl libtestutil.a
923
924{-
925   use File::Spec::Functions;
926   use File::Basename;
927   use OpenSSL::Glob;
928
929   my @nogo_headers = ( "asn1_mac.h",
930                        "opensslconf.h",
931                        "__decc_include_prologue.h",
932                        "__decc_include_epilogue.h" );
933   my @nogo_headers_re = ( qr/.*err\.h/ );
934   my @headerfiles = glob catfile($sourcedir,
935                                  updir(), "include", "openssl", "*.h");
936
937   foreach my $headerfile (@headerfiles) {
938       my $name = basename($headerfile, ".h");
939       next if $disabled{$name};
940       next if grep { $_ eq lc("$name.h") } @nogo_headers;
941       next if grep { lc("$name.h") =~ m/$_/i } @nogo_headers_re;
942       $OUT .= <<"_____";
943
944  PROGRAMS{noinst}=buildtest_c_$name
945  SOURCE[buildtest_c_$name]=buildtest_$name.c
946  GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
947  INCLUDE[buildtest_c_$name]=../include
948  DEPEND[buildtest_c_$name]=../libssl ../libcrypto
949_____
950       $OUT .= <<"_____" if $config{CXX} && !$disabled{"buildtest-c++"};
951
952  PROGRAMS{noinst}=buildtest_cc_$name
953  SOURCE[buildtest_cc_$name]=buildtest_$name.cc
954  GENERATE[buildtest_$name.cc]=generate_buildtest.pl $name
955  INCLUDE[buildtest_cc_$name]=../include
956  DEPEND[buildtest_cc_$name]=../libssl ../libcrypto
957_____
958   }
959-}
960