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
8IF[{- !$disabled{hqinterop} -}]
9  SUBDIRS=quic-openssl-docker
10ENDIF
11
12# Auxiliary program source (copied from ../apps/build.info)
13IF[{- $config{target} =~ /^(?:VC-|mingw|BC-)/ -}]
14  # It's called 'init', but doesn't have much 'init' in it...
15  $AUXLIBAPPSSRC=../apps/lib/win32_init.c
16ENDIF
17IF[{- $config{target} =~ /^vms-/ -}]
18  $AUXLIBAPPSSRC=../apps/lib/vms_term_sock.c ../apps/lib/vms_decc_argv.c
19ENDIF
20# Program init source, that don't have direct linkage with the rest of the
21# source, and can therefore not be part of a library.
22IF[{- !$disabled{uplink} -}]
23  $INITSRC=../ms/applink.c
24ENDIF
25$LIBAPPSSRC=../apps/lib/opt.c $AUXLIBAPPSSRC
26
27IF[{- !$disabled{tests} -}]
28  LIBS{noinst,has_main}=libtestutil.a
29  SOURCE[libtestutil.a]=testutil/basic_output.c testutil/output.c \
30          testutil/driver.c testutil/tests.c testutil/cb.c testutil/stanza.c \
31          testutil/format_output.c testutil/load.c testutil/fake_random.c \
32          testutil/test_cleanup.c testutil/main.c testutil/testutil_init.c \
33          testutil/options.c testutil/test_options.c testutil/provider.c \
34          testutil/apps_shims.c testutil/random.c testutil/helper.c $LIBAPPSSRC
35  INCLUDE[libtestutil.a]=../include ../apps/include ..
36  DEPEND[libtestutil.a]=../libcrypto
37
38  PROGRAMS{noinst}= \
39          confdump \
40          versions \
41          aborttest test_test pkcs12_format_test pkcs12_api_test \
42          sanitytest time_test rsa_complex exdatatest bntest \
43          ecstresstest gmdifftest pbelutest \
44          destest mdc2test sha_test \
45          exptest pbetest localetest evp_pkey_ctx_new_from_name \
46          evp_pkey_provided_test evp_test evp_extra_test evp_extra_test2 \
47          evp_fetch_prov_test evp_libctx_test ossl_store_test \
48          v3nametest v3ext byteorder_test punycode_test evp_byname_test \
49          crltest danetest bad_dtls_test lhash_test sparse_array_test \
50          conf_include_test params_api_test params_conversion_test \
51          constant_time_test safe_math_test verify_extra_test clienthellotest \
52          packettest asynctest secmemtest srptest memleaktest stack_test \
53          dtlsv1listentest ct_test threadstest afalgtest d2i_test \
54          ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
55          bio_callback_test bio_memleak_test bio_core_test bio_dgram_test param_build_test \
56          bioprinttest sslapitest ssl_handshake_rtt_test dtlstest sslcorrupttest \
57          bio_base64_test bio_enc_test pkey_meth_test pkey_meth_kdf_test evp_kdf_test uitest \
58          cipherbytes_test threadstest_fips threadpool_test \
59          asn1_encode_test asn1_decode_test asn1_string_table_test asn1_stable_parse_test \
60          x509_time_test x509_dup_cert_test x509_check_cert_pkey_test \
61          recordlentest drbgtest rand_status_test sslbuffertest \
62          time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \
63          servername_test ocspapitest fatalerrtest tls13ccstest \
64          sysdefaulttest errtest ssl_ctx_test build_wincrypt_test \
65          context_internal_test aesgcmtest params_test evp_pkey_dparams_test \
66          keymgmt_internal_test hexstr_test provider_status_test defltfips_test \
67          bio_readbuffer_test user_property_test pkcs7_test upcallstest \
68          provfetchtest prov_config_test rand_test \
69          ca_internals_test bio_tfo_test membio_test bio_dgram_test list_test \
70          fips_version_test x509_test hpke_test pairwise_fail_test \
71          nodefltctxtest evp_xof_test x509_load_cert_file_test bio_meth_test \
72          x509_acert_test x509_req_test strtoultest bio_pw_callback_test
73
74  IF[{- !$disabled{'rpk'} -}]
75    PROGRAMS{noinst}=rpktest
76  ENDIF
77
78  IF[{- !$disabled{'allocfail-tests'} -}]
79    PROGRAMS{noninst}=handshake-memfail
80  ENDIF
81
82  IF[{- !$disabled{'deprecated-3.0'} -}]
83    PROGRAMS{noinst}=enginetest
84  ENDIF
85
86  IF[{- !$disabled{quic} -}]
87    PROGRAMS{noinst}=priority_queue_test quicfaultstest quicapitest \
88                     quic_newcid_test quic_srt_gen_test
89  ENDIF
90
91  IF[{- !$disabled{qlog} -}]
92    PROGRAMS{noinst}=json_test quic_qlog_test
93  ENDIF
94
95  IF[{- !$disabled{comp} && (!$disabled{brotli} || !$disabled{zstd} || !$disabled{zlib}) -}]
96    PROGRAMS{noinst}=cert_comp_test
97  ENDIF
98
99  SOURCE[confdump]=confdump.c
100  INCLUDE[confdump]=../include ../apps/include
101  DEPEND[confdump]=../libcrypto
102
103  SOURCE[versions]=versions.c
104  INCLUDE[versions]=../include ../apps/include
105  DEPEND[versions]=../libcrypto
106
107  SOURCE[aborttest]=aborttest.c
108  INCLUDE[aborttest]=../include ../apps/include
109  DEPEND[aborttest]=../libcrypto
110
111  SOURCE[sanitytest]=sanitytest.c
112  INCLUDE[sanitytest]=../include ../apps/include
113  DEPEND[sanitytest]=../libcrypto.a libtestutil.a
114
115  SOURCE[time_test]=time_test.c
116  INCLUDE[time_test]=../include ../apps/include
117  DEPEND[time_test]=../libcrypto libtestutil.a
118
119  SOURCE[rand_test]=rand_test.c
120  INCLUDE[rand_test]=../include ../apps/include
121  DEPEND[rand_test]=../libcrypto.a libtestutil.a
122
123  SOURCE[rsa_complex]=rsa_complex.c
124  INCLUDE[rsa_complex]=../include ../apps/include
125
126  SOURCE[test_test]=test_test.c
127  INCLUDE[test_test]=../include ../apps/include
128  DEPEND[test_test]=../libcrypto libtestutil.a
129
130  SOURCE[exdatatest]=exdatatest.c
131  INCLUDE[exdatatest]=../include ../apps/include
132  DEPEND[exdatatest]=../libcrypto libtestutil.a
133
134  SOURCE[bntest]=bntest.c
135  INCLUDE[bntest]=../include ../apps/include
136  DEPEND[bntest]=../libcrypto libtestutil.a
137
138  SOURCE[ectest]=ectest.c
139  INCLUDE[ectest]=../include ../apps/include
140  DEPEND[ectest]=../libcrypto.a libtestutil.a
141
142  SOURCE[ecstresstest]=ecstresstest.c
143  INCLUDE[ecstresstest]=../include ../apps/include
144  DEPEND[ecstresstest]=../libcrypto libtestutil.a
145
146  SOURCE[gmdifftest]=gmdifftest.c
147  INCLUDE[gmdifftest]=../include ../apps/include
148  DEPEND[gmdifftest]=../libcrypto libtestutil.a
149
150  SOURCE[pbelutest]=pbelutest.c
151  INCLUDE[pbelutest]=../include ../apps/include
152  DEPEND[pbelutest]=../libcrypto libtestutil.a
153
154  SOURCE[mdc2test]=mdc2test.c
155  INCLUDE[mdc2test]=../include ../apps/include
156  DEPEND[mdc2test]=../libcrypto libtestutil.a
157
158  SOURCE[sha_test]=sha_test.c
159  INCLUDE[sha_test]=../include ../apps/include
160  DEPEND[sha_test]=../libcrypto libtestutil.a
161
162  SOURCE[enginetest]=enginetest.c
163  INCLUDE[enginetest]=../include ../apps/include
164  DEPEND[enginetest]=../libcrypto libtestutil.a
165
166  SOURCE[exptest]=exptest.c
167  INCLUDE[exptest]=../include ../apps/include
168  DEPEND[exptest]=../libcrypto libtestutil.a
169
170  SOURCE[localetest]=localetest.c
171  INCLUDE[localetest]=../include ../apps/include
172  DEPEND[localetest]=../libcrypto libtestutil.a
173
174  SOURCE[evp_pkey_ctx_new_from_name]=evp_pkey_ctx_new_from_name.c
175  INCLUDE[evp_pkey_ctx_new_from_name]=../include ../apps/include
176  DEPEND[evp_pkey_ctx_new_from_name]=../libcrypto
177
178  SOURCE[pbetest]=pbetest.c
179  INCLUDE[pbetest]=../include ../apps/include
180  DEPEND[pbetest]=../libcrypto libtestutil.a
181
182  SOURCE[fatalerrtest]=fatalerrtest.c helpers/ssltestlib.c
183  INCLUDE[fatalerrtest]=../include ../apps/include
184  DEPEND[fatalerrtest]=../libcrypto ../libssl libtestutil.a
185
186  SOURCE[tls13ccstest]=tls13ccstest.c helpers/ssltestlib.c
187  INCLUDE[tls13ccstest]=../include ../apps/include
188  DEPEND[tls13ccstest]=../libcrypto ../libssl libtestutil.a
189
190  IF[{- !$disabled{ecx} && !$disabled{tls} && !$disabled{tls1_3} -}]
191    PROGRAMS{noinst}=tls13groupselection_test
192    SOURCE[tls13groupselection_test]=tls13groupselection_test.c helpers/ssltestlib.c
193    INCLUDE[tls13groupselection_test]=../include ../apps/include
194    DEPEND[tls13groupselection_test]=../libcrypto ../libssl libtestutil.a
195  ENDIF
196
197  SOURCE[upcallstest]=upcallstest.c
198  INCLUDE[upcallstest]=../include ../apps/include
199  DEPEND[upcallstest]=../libcrypto libtestutil.a
200
201  SOURCE[user_property_test]=user_property_test.c
202  INCLUDE[user_property_test]=../include ../apps/include
203  DEPEND[user_property_test]=../libcrypto libtestutil.a
204
205  SOURCE[evp_test]=evp_test.c
206  INCLUDE[evp_test]=../include ../apps/include
207  DEPEND[evp_test]=../libcrypto libtestutil.a
208  IF[{- $disabled{legacy} || !$target{dso_scheme} -}]
209    DEFINE[evp_test]=NO_LEGACY_MODULE
210  ENDIF
211
212  SOURCE[evp_extra_test]=evp_extra_test.c fake_rsaprov.c fake_pipelineprov.c
213  INCLUDE[evp_extra_test]=../include ../apps/include \
214                          ../providers/common/include \
215                          ../providers/implementations/include
216  DEPEND[evp_extra_test]=../libcrypto.a libtestutil.a
217  IF[{- !$disabled{module} && !$disabled{legacy} -}]
218    DEFINE[evp_extra_test]=STATIC_LEGACY
219    SOURCE[evp_extra_test]=../providers/legacyprov.c
220    DEPEND[evp_extra_test]=../providers/liblegacy.a \
221                           ../providers/libcommon.a
222  ENDIF
223
224  SOURCE[hpke_test]=hpke_test.c
225  INCLUDE[hpke_test]=../include ../apps/include
226  DEPEND[hpke_test]=../libcrypto libtestutil.a
227
228  IF[{- !$disabled{'lms'} -}]
229    PROGRAMS{noinst}=lms_test
230    SOURCE[lms_test]=lms_test.c
231    INCLUDE[lms_test]=../include ../apps/include
232    DEPEND[lms_test]=../libcrypto.a libtestutil.a
233  ENDIF
234
235  SOURCE[evp_extra_test2]=evp_extra_test2.c $INITSRC tls-provider.c
236  INCLUDE[evp_extra_test2]=../include ../apps/include
237  DEPEND[evp_extra_test2]=../libcrypto libtestutil.a
238
239  SOURCE[evp_libctx_test]=evp_libctx_test.c
240  INCLUDE[evp_libctx_test]=../include ../apps/include
241  DEPEND[evp_libctx_test]=../libcrypto.a libtestutil.a
242
243  SOURCE[evp_fetch_prov_test]=evp_fetch_prov_test.c
244  INCLUDE[evp_fetch_prov_test]=../include ../apps/include
245  DEPEND[evp_fetch_prov_test]=../libcrypto libtestutil.a
246
247  SOURCE[provfetchtest]=provfetchtest.c
248  INCLUDE[provfetchtest]=../include ../apps/include
249  DEPEND[provfetchtest]=../libcrypto libtestutil.a
250
251  SOURCE[prov_config_test]=prov_config_test.c
252  INCLUDE[prov_config_test]=../include ../apps/include
253  DEPEND[prov_config_test]=../libcrypto libtestutil.a
254
255  SOURCE[evp_pkey_provided_test]=evp_pkey_provided_test.c
256  INCLUDE[evp_pkey_provided_test]=../include ../apps/include
257  DEPEND[evp_pkey_provided_test]=../libcrypto.a libtestutil.a
258
259  IF[{- !$disabled{'acvp-tests'} -}]
260    PROGRAMS{noinst}=acvp_test
261
262    SOURCE[acvp_test]=acvp_test.c
263    INCLUDE[acvp_test]=../include ../apps/include
264    DEPEND[acvp_test]=../libcrypto libtestutil.a
265  ENDIF
266
267  SOURCE[ossl_store_test]=ossl_store_test.c
268  INCLUDE[ossl_store_test]=../include ../apps/include
269  DEPEND[ossl_store_test]=../libcrypto libtestutil.a
270
271  SOURCE[provider_status_test]=provider_status_test.c
272  INCLUDE[provider_status_test]=../include ../apps/include
273  DEPEND[provider_status_test]=../libcrypto libtestutil.a
274
275  SOURCE[pairwise_fail_test]=pairwise_fail_test.c
276  INCLUDE[pairwise_fail_test]=../include ../apps/include
277  DEPEND[pairwise_fail_test]=../libcrypto libtestutil.a
278
279  SOURCE[nodefltctxtest]=nodefltctxtest.c
280  INCLUDE[nodefltctxtest]=../include ../apps/include
281  DEPEND[nodefltctxtest]=../libcrypto libtestutil.a
282
283  SOURCE[evp_pkey_dhkem_test]=evp_pkey_dhkem_test.c
284  INCLUDE[evp_pkey_dhkem_test]=../include ../apps/include
285  DEPEND[evp_pkey_dhkem_test]=../libcrypto libtestutil.a
286
287  IF[{- !$disabled{'slh-dsa'} -}]
288    PROGRAMS{noinst}=slh_dsa_test
289    SOURCE[slh_dsa_test]=slh_dsa_test.c
290    INCLUDE[slh_dsa_test]=../include ../apps/include
291    DEPEND[slh_dsa_test]=../libcrypto libtestutil.a
292  ENDIF
293
294  IF[{- !$disabled{'deprecated-3.0'} -}]
295    PROGRAMS{noinst}=igetest bftest casttest
296
297    SOURCE[igetest]=igetest.c
298    INCLUDE[igetest]=../include ../apps/include
299    DEPEND[igetest]=../libcrypto libtestutil.a
300
301    SOURCE[bftest]=bftest.c
302    INCLUDE[bftest]=../include ../apps/include
303    DEPEND[bftest]=../libcrypto libtestutil.a
304
305    SOURCE[casttest]=casttest.c
306    INCLUDE[casttest]=../include ../apps/include
307    DEPEND[casttest]=../libcrypto libtestutil.a
308  ENDIF
309
310  IF[{- !$disabled{'ml-dsa'} -}]
311    PROGRAMS{noinst}=ml_dsa_test
312    SOURCE[ml_dsa_test]=ml_dsa_test.c
313    INCLUDE[ml_dsa_test]=../include ../apps/include
314    DEPEND[ml_dsa_test]=../libcrypto.a libtestutil.a
315  ENDIF
316
317  SOURCE[v3nametest]=v3nametest.c
318  INCLUDE[v3nametest]=../include ../apps/include
319  DEPEND[v3nametest]=../libcrypto libtestutil.a
320
321  SOURCE[crltest]=crltest.c
322  INCLUDE[crltest]=../include ../apps/include
323  DEPEND[crltest]=../libcrypto libtestutil.a
324
325  SOURCE[v3ext]=v3ext.c
326  INCLUDE[v3ext]=../include ../apps/include
327  DEPEND[v3ext]=../libcrypto libtestutil.a
328
329  SOURCE[danetest]=danetest.c
330  INCLUDE[danetest]=../include ../apps/include
331  DEPEND[danetest]=../libcrypto ../libssl libtestutil.a
332
333  SOURCE[constant_time_test]=constant_time_test.c
334  INCLUDE[constant_time_test]=../include ../apps/include
335  DEPEND[constant_time_test]=../libcrypto libtestutil.a
336
337  SOURCE[safe_math_test]=safe_math_test.c
338  INCLUDE[safe_math_test]=../include ../apps/include
339  DEPEND[safe_math_test]=../libcrypto libtestutil.a
340
341  SOURCE[verify_extra_test]=verify_extra_test.c
342  INCLUDE[verify_extra_test]=../include ../apps/include
343  DEPEND[verify_extra_test]=../libcrypto libtestutil.a
344
345  SOURCE[clienthellotest]=clienthellotest.c
346  INCLUDE[clienthellotest]=../include ../apps/include
347  DEPEND[clienthellotest]=../libcrypto ../libssl libtestutil.a
348
349  SOURCE[bad_dtls_test]=bad_dtls_test.c
350  INCLUDE[bad_dtls_test]=../include ../apps/include
351  DEPEND[bad_dtls_test]=../libcrypto ../libssl libtestutil.a
352
353  SOURCE[packettest]=packettest.c ../crypto/quic_vlint.c
354  INCLUDE[packettest]=../include ../apps/include
355  DEPEND[packettest]=../libcrypto libtestutil.a
356
357  IF[{- !$disabled{'quic'} -}]
358      SOURCE[quic_wire_test]=quic_wire_test.c
359      INCLUDE[quic_wire_test]=../include ../apps/include
360      DEPEND[quic_wire_test]=../libcrypto.a ../libssl.a libtestutil.a
361
362      SOURCE[quic_record_test]=quic_record_test.c
363      INCLUDE[quic_record_test]=../include ../apps/include
364      DEPEND[quic_record_test]=../libcrypto.a ../libssl.a libtestutil.a
365
366      SOURCE[quic_fc_test]=quic_fc_test.c
367      INCLUDE[quic_fc_test]=../include ../apps/include
368      DEPEND[quic_fc_test]=../libcrypto ../libssl.a libtestutil.a
369
370      SOURCE[quic_stream_test]=quic_stream_test.c
371      INCLUDE[quic_stream_test]=../include ../apps/include
372      DEPEND[quic_stream_test]=../libcrypto.a ../libssl.a libtestutil.a
373
374      SOURCE[quic_cfq_test]=quic_cfq_test.c
375      INCLUDE[quic_cfq_test]=../include ../apps/include
376      DEPEND[quic_cfq_test]=../libcrypto ../libssl.a libtestutil.a
377
378      SOURCE[quic_txpim_test]=quic_txpim_test.c
379      INCLUDE[quic_txpim_test]=../include ../apps/include
380      DEPEND[quic_txpim_test]=../libcrypto ../libssl.a libtestutil.a
381
382      SOURCE[quic_srtm_test]=quic_srtm_test.c
383      INCLUDE[quic_srtm_test]=../include ../apps/include
384      DEPEND[quic_srtm_test]=../libcrypto ../libssl.a libtestutil.a
385
386      SOURCE[quic_lcidm_test]=quic_lcidm_test.c
387      INCLUDE[quic_lcidm_test]=../include ../apps/include
388      DEPEND[quic_lcidm_test]=../libcrypto.a ../libssl.a libtestutil.a
389
390      SOURCE[quic_rcidm_test]=quic_rcidm_test.c
391      INCLUDE[quic_rcidm_test]=../include ../apps/include
392      DEPEND[quic_rcidm_test]=../libcrypto ../libssl.a libtestutil.a
393
394      SOURCE[quic_fifd_test]=quic_fifd_test.c cc_dummy.c
395      INCLUDE[quic_fifd_test]=../include ../apps/include
396      DEPEND[quic_fifd_test]=../libcrypto.a ../libssl.a libtestutil.a
397
398      SOURCE[quic_txp_test]=quic_txp_test.c cc_dummy.c
399      INCLUDE[quic_txp_test]=../include ../apps/include
400      DEPEND[quic_txp_test]=../libcrypto.a ../libssl.a libtestutil.a
401
402      SOURCE[quic_tserver_test]=quic_tserver_test.c
403      INCLUDE[quic_tserver_test]=../include ../apps/include
404      DEPEND[quic_tserver_test]=../libcrypto.a ../libssl.a libtestutil.a
405
406      SOURCE[quic_client_test]=quic_client_test.c
407      INCLUDE[quic_client_test]=../include ../apps/include
408      DEPEND[quic_client_test]=../libcrypto.a ../libssl.a libtestutil.a
409
410      $QUICTESTHELPERS=helpers/quictestlib.c helpers/noisydgrambio.c helpers/pktsplitbio.c
411
412      SOURCE[quic_multistream_test]=quic_multistream_test.c helpers/ssltestlib.c $QUICTESTHELPERS
413      INCLUDE[quic_multistream_test]=../include ../apps/include
414      DEPEND[quic_multistream_test]=../libcrypto.a ../libssl.a libtestutil.a
415
416      SOURCE[quic_radix_test]=radix/quic_radix.c
417      SOURCE[quic_radix_test]=helpers/ssltestlib.c $QUICTESTHELPERS
418      INCLUDE[quic_radix_test]=../include ../apps/include
419      DEPEND[quic_radix_test]=../libcrypto.a ../libssl.a libtestutil.a
420  ENDIF
421
422  IF[{- !$disabled{'qlog'} -}]
423      SOURCE[quic_qlog_test]=quic_qlog_test.c
424      INCLUDE[quic_qlog_test]=../include ../apps/include
425      DEPEND[quic_qlog_test]=../libcrypto.a ../libssl.a libtestutil.a
426  ENDIF
427
428  SOURCE[asynctest]=asynctest.c
429  INCLUDE[asynctest]=../include ../apps/include
430  DEPEND[asynctest]=../libcrypto
431
432  SOURCE[secmemtest]=secmemtest.c
433  INCLUDE[secmemtest]=../include ../apps/include
434  DEPEND[secmemtest]=../libcrypto libtestutil.a
435
436  SOURCE[srptest]=srptest.c
437  INCLUDE[srptest]=../include ../apps/include
438  DEPEND[srptest]=../libcrypto libtestutil.a
439
440  SOURCE[memleaktest]=memleaktest.c
441  INCLUDE[memleaktest]=../include ../apps/include
442  DEPEND[memleaktest]=../libcrypto libtestutil.a
443
444  SOURCE[pkcs12_format_test]=pkcs12_format_test.c helpers/pkcs12.c
445  INCLUDE[pkcs12_format_test]=../include ../apps/include
446  DEPEND[pkcs12_format_test]=../libcrypto libtestutil.a
447
448  SOURCE[pkcs12_api_test]=pkcs12_api_test.c helpers/pkcs12.c
449  INCLUDE[pkcs12_api_test]=../include ../apps/include
450  DEPEND[pkcs12_api_test]=../libcrypto libtestutil.a
451
452  SOURCE[pkcs7_test]=pkcs7_test.c
453  INCLUDE[pkcs7_test]=../include ../apps/include
454  DEPEND[pkcs7_test]=../libcrypto libtestutil.a
455
456  SOURCE[byteorder_test]=byteorder_test.c
457  INCLUDE[byteorder_test]=../include ../apps/include
458  DEPEND[byteorder_test]=../libcrypto libtestutil.a
459
460  SOURCE[punycode_test]=punycode_test.c
461  INCLUDE[punycode_test]=../include ../apps/include
462  DEPEND[punycode_test]=../libcrypto.a libtestutil.a
463
464  SOURCE[evp_byname_test]=evp_byname_test.c
465  INCLUDE[evp_byname_test]=../include ../apps/include
466  DEPEND[evp_byname_test]=../libcrypto libtestutil.a
467
468  SOURCE[stack_test]=stack_test.c
469  INCLUDE[stack_test]=../include ../apps/include
470  DEPEND[stack_test]=../libcrypto libtestutil.a
471
472  SOURCE[lhash_test]=lhash_test.c
473  INCLUDE[lhash_test]=../include ../apps/include
474  DEPEND[lhash_test]=../libcrypto.a libtestutil.a
475
476  SOURCE[dtlsv1listentest]=dtlsv1listentest.c
477  INCLUDE[dtlsv1listentest]=../include ../apps/include
478  DEPEND[dtlsv1listentest]=../libssl libtestutil.a
479
480  SOURCE[ct_test]=ct_test.c
481  INCLUDE[ct_test]=../include ../apps/include
482  DEPEND[ct_test]=../libcrypto libtestutil.a
483
484  SOURCE[threadpool_test]=threadpool_test.c
485  INCLUDE[threadpool_test]=.. ../include ../apps/include
486  DEPEND[threadpool_test]=../libcrypto.a libtestutil.a
487
488  SOURCE[threadstest]=threadstest.c
489  INCLUDE[threadstest]=.. ../include ../apps/include
490  DEPEND[threadstest]=../libcrypto.a libtestutil.a
491
492  SOURCE[threadstest_fips]=threadstest_fips.c
493  INCLUDE[threadstest_fips]=../include ../apps/include
494  DEPEND[threadstest_fips]=../libcrypto libtestutil.a
495
496  SOURCE[afalgtest]=afalgtest.c
497  INCLUDE[afalgtest]=../include ../apps/include
498  DEPEND[afalgtest]=../libcrypto libtestutil.a
499
500  SOURCE[d2i_test]=d2i_test.c
501  INCLUDE[d2i_test]=../include ../apps/include
502  DEPEND[d2i_test]=../libcrypto libtestutil.a
503
504  SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c helpers/ssl_test_ctx.c
505  INCLUDE[ssl_test_ctx_test]=../include ../apps/include
506  DEPEND[ssl_test_ctx_test]=../libcrypto ../libssl libtestutil.a
507
508  SOURCE[ssl_test]=ssl_test.c helpers/ssl_test_ctx.c helpers/handshake.c
509  IF[{- !$disabled{'srp'} -}]
510    SOURCE[ssl_test]=helpers/handshake_srp.c
511  ENDIF
512  INCLUDE[ssl_test]=../include ../apps/include
513  DEPEND[ssl_test]=../libcrypto ../libssl libtestutil.a
514
515  SOURCE[cipherlist_test]=cipherlist_test.c
516  INCLUDE[cipherlist_test]=../include ../apps/include
517  DEPEND[cipherlist_test]=../libcrypto ../libssl libtestutil.a
518
519  INCLUDE[helpers/ssl_test_ctx.o]=../include
520  INCLUDE[helpers/handshake.o]=.. ../include
521  INCLUDE[helpers/pkcs12.o]=.. ../include
522  INCLUDE[helpers/ssltestlib.o]=.. ../include
523  INCLUDE[helpers/cmp_testlib.o]=.. ../include ../apps/include
524
525  SOURCE[x509aux]=x509aux.c
526  INCLUDE[x509aux]=../include ../apps/include
527  DEPEND[x509aux]=../libcrypto libtestutil.a
528
529  SOURCE[asynciotest]=asynciotest.c helpers/ssltestlib.c
530  INCLUDE[asynciotest]=../include ../apps/include
531  DEPEND[asynciotest]=../libcrypto ../libssl libtestutil.a
532
533  SOURCE[bio_callback_test]=bio_callback_test.c
534  INCLUDE[bio_callback_test]=../include ../apps/include
535  DEPEND[bio_callback_test]=../libcrypto libtestutil.a
536
537  SOURCE[bio_readbuffer_test]=bio_readbuffer_test.c
538  INCLUDE[bio_readbuffer_test]=../include ../apps/include
539  DEPEND[bio_readbuffer_test]=../libcrypto libtestutil.a
540
541  SOURCE[bio_memleak_test]=bio_memleak_test.c
542  INCLUDE[bio_memleak_test]=../include ../apps/include
543  DEPEND[bio_memleak_test]=../libcrypto libtestutil.a
544
545  SOURCE[bio_meth_test]=bio_meth_test.c
546  INCLUDE[bio_meth_test]=../include ../apps/include
547  DEPEND[bio_meth_test]=../libcrypto libtestutil.a
548
549  SOURCE[bioprinttest]=bioprinttest.c
550  INCLUDE[bioprinttest]=../include ../apps/include
551  DEPEND[bioprinttest]=../libcrypto libtestutil.a
552
553  SOURCE[bio_core_test]=bio_core_test.c
554  INCLUDE[bio_core_test]=../include ../apps/include
555  DEPEND[bio_core_test]=../libcrypto libtestutil.a
556
557  SOURCE[bio_dgram_test]=bio_dgram_test.c
558  INCLUDE[bio_dgram_test]=../include ../apps/include
559  DEPEND[bio_dgram_test]=../libcrypto libtestutil.a
560
561  SOURCE[bio_tfo_test]=bio_tfo_test.c
562  INCLUDE[bio_tfo_test]=../include ../apps/include ..
563  DEPEND[bio_tfo_test]=../libcrypto libtestutil.a
564
565  SOURCE[membio_test]=membio_test.c
566  INCLUDE[membio_test]=../include ../apps/include ..
567  DEPEND[membio_test]=../libcrypto libtestutil.a
568
569  SOURCE[bio_dgram_test]=bio_dgram_test.c
570  INCLUDE[bio_dgram_test]=../include ../apps/include ..
571  DEPEND[bio_dgram_test]=../libcrypto libtestutil.a
572
573  SOURCE[params_api_test]=params_api_test.c
574  INCLUDE[params_api_test]=../include ../apps/include
575  DEPEND[params_api_test]=../libcrypto libtestutil.a
576
577  SOURCE[params_conversion_test]=params_conversion_test.c
578  INCLUDE[params_conversion_test]=../include ../apps/include
579  DEPEND[params_conversion_test]=../libcrypto libtestutil.a
580
581  SOURCE[param_build_test]=param_build_test.c
582  INCLUDE[param_build_test]=../include ../apps/include
583  DEPEND[param_build_test]=../libcrypto libtestutil.a
584
585  SOURCE[sslapitest]=sslapitest.c helpers/ssltestlib.c filterprov.c tls-provider.c
586  INCLUDE[sslapitest]=../include ../apps/include ../providers/common/include ..
587  DEPEND[sslapitest]=../libcrypto.a ../libssl.a libtestutil.a
588
589  SOURCE[handshake-memfail]=handshake-memfail.c helpers/ssltestlib.c
590  INCLUDE[handshake-memfail]=../include ../apps/include
591  DEPEND[handshake-memfail]=../libcrypto.a ../libssl.a libtestutil.a
592
593  SOURCE[ssl_handshake_rtt_test]=ssl_handshake_rtt_test.c helpers/ssltestlib.c
594  INCLUDE[ssl_handshake_rtt_test]=../include ../apps/include ..
595  DEPEND[ssl_handshake_rtt_test]=../libcrypto.a ../libssl.a libtestutil.a
596
597  SOURCE[rpktest]=rpktest.c helpers/ssltestlib.c
598  INCLUDE[rpktest]=../include ../apps/include ..
599  DEPEND[rpktest]=../libcrypto ../libssl libtestutil.a
600
601  SOURCE[defltfips_test]=defltfips_test.c
602  INCLUDE[defltfips_test]=../include  ../apps/include
603  DEPEND[defltfips_test]=../libcrypto libtestutil.a
604
605  SOURCE[fips_version_test]=fips_version_test.c
606  INCLUDE[fips_version_test]=../include  ../apps/include
607  DEPEND[fips_version_test]=../libcrypto libtestutil.a
608
609  SOURCE[ocspapitest]=ocspapitest.c
610  INCLUDE[ocspapitest]=../include ../apps/include
611  DEPEND[ocspapitest]=../libcrypto libtestutil.a
612
613  IF[{- !$disabled{sock} -}]
614    IF[{- !$disabled{http} -}]
615      PROGRAMS{noinst}=http_test
616
617      SOURCE[http_test]=http_test.c
618      INCLUDE[http_test]=../include ../apps/include
619      DEPEND[http_test]=../libcrypto libtestutil.a
620    ENDIF
621
622    PROGRAMS{noinst}=bio_addr_test
623
624    SOURCE[bio_addr_test]=bio_addr_test.c
625    INCLUDE[bio_addr_test]=../include ../apps/include
626    DEPEND[bio_addr_test]=../libcrypto libtestutil.a
627  ENDIF
628
629  SOURCE[dtlstest]=dtlstest.c helpers/ssltestlib.c
630  INCLUDE[dtlstest]=../include ../apps/include
631  DEPEND[dtlstest]=../libcrypto ../libssl libtestutil.a
632
633  SOURCE[sslcorrupttest]=sslcorrupttest.c helpers/ssltestlib.c
634  INCLUDE[sslcorrupttest]=../include ../apps/include
635  DEPEND[sslcorrupttest]=../libcrypto ../libssl libtestutil.a
636
637  SOURCE[bio_base64_test]=bio_base64_test.c
638  INCLUDE[bio_base64_test]=../include ../apps/include
639  DEPEND[bio_base64_test]=../libcrypto libtestutil.a
640
641  SOURCE[bio_enc_test]=bio_enc_test.c
642  INCLUDE[bio_enc_test]=../include ../apps/include
643  DEPEND[bio_enc_test]=../libcrypto libtestutil.a
644
645  SOURCE[pkey_meth_test]=pkey_meth_test.c
646  INCLUDE[pkey_meth_test]=../include ../apps/include
647  DEPEND[pkey_meth_test]=../libcrypto libtestutil.a
648
649  SOURCE[pkey_meth_kdf_test]=pkey_meth_kdf_test.c
650  INCLUDE[pkey_meth_kdf_test]=../include ../apps/include
651  DEPEND[pkey_meth_kdf_test]=../libcrypto libtestutil.a
652
653  SOURCE[evp_kdf_test]=evp_kdf_test.c
654  INCLUDE[evp_kdf_test]=../include ../apps/include
655  DEPEND[evp_kdf_test]=../libcrypto libtestutil.a
656
657  SOURCE[evp_xof_test]=evp_xof_test.c
658  INCLUDE[evp_xof_test]=../include ../apps/include
659  DEPEND[evp_xof_test]=../libcrypto libtestutil.a
660
661  SOURCE[evp_pkey_dparams_test]=evp_pkey_dparams_test.c
662  INCLUDE[evp_pkey_dparams_test]=../include ../apps/include
663  DEPEND[evp_pkey_dparams_test]=../libcrypto libtestutil.a
664
665  SOURCE[x509_time_test]=x509_time_test.c
666  INCLUDE[x509_time_test]=../include ../apps/include
667  DEPEND[x509_time_test]=../libcrypto libtestutil.a
668
669  SOURCE[x509_test]=x509_test.c
670  INCLUDE[x509_test]=../include ../apps/include
671  DEPEND[x509_test]=../libcrypto libtestutil.a
672
673  SOURCE[recordlentest]=recordlentest.c helpers/ssltestlib.c
674  INCLUDE[recordlentest]=../include ../apps/include
675  DEPEND[recordlentest]=../libcrypto ../libssl libtestutil.a
676
677  SOURCE[drbgtest]=drbgtest.c
678  INCLUDE[drbgtest]=../include ../apps/include ../providers/common/include \
679                    ../providers/fips/include
680  DEPEND[drbgtest]=../libcrypto libtestutil.a
681
682  SOURCE[rand_status_test]=rand_status_test.c
683  INCLUDE[rand_status_test]=../include ../apps/include
684  DEPEND[rand_status_test]=../libcrypto libtestutil.a
685
686  SOURCE[x509_dup_cert_test]=x509_dup_cert_test.c
687  INCLUDE[x509_dup_cert_test]=../include ../apps/include
688  DEPEND[x509_dup_cert_test]=../libcrypto libtestutil.a
689
690  SOURCE[x509_load_cert_file_test]=x509_load_cert_file_test.c
691  INCLUDE[x509_load_cert_file_test]=../include ../apps/include
692  DEPEND[x509_load_cert_file_test]=../libcrypto libtestutil.a
693
694  SOURCE[x509_check_cert_pkey_test]=x509_check_cert_pkey_test.c
695  INCLUDE[x509_check_cert_pkey_test]=../include ../apps/include
696  DEPEND[x509_check_cert_pkey_test]=../libcrypto libtestutil.a
697
698  SOURCE[pemtest]=pemtest.c
699  INCLUDE[pemtest]=../include ../apps/include
700  DEPEND[pemtest]=../libcrypto libtestutil.a
701
702  SOURCE[ssl_cert_table_internal_test]=ssl_cert_table_internal_test.c
703  INCLUDE[ssl_cert_table_internal_test]=.. ../include ../apps/include
704  DEPEND[ssl_cert_table_internal_test]=../libcrypto libtestutil.a
705
706  SOURCE[ciphername_test]=ciphername_test.c
707  INCLUDE[ciphername_test]=../include ../apps/include
708  DEPEND[ciphername_test]=../libcrypto ../libssl libtestutil.a
709
710  SOURCE[servername_test]=servername_test.c helpers/ssltestlib.c
711  INCLUDE[servername_test]=../include ../apps/include
712  DEPEND[servername_test]=../libcrypto ../libssl libtestutil.a
713
714  IF[{- !$disabled{cms} -}]
715    PROGRAMS{noinst}=cmsapitest
716    SOURCE[cmsapitest]=cmsapitest.c
717    INCLUDE[cmsapitest]=../include ../apps/include
718    DEPEND[cmsapitest]=../libcrypto libtestutil.a
719  ENDIF
720
721  IF[{- !$disabled{psk} -}]
722    PROGRAMS{noinst}=dtls_mtu_test
723    SOURCE[dtls_mtu_test]=dtls_mtu_test.c helpers/ssltestlib.c
724    INCLUDE[dtls_mtu_test]=.. ../include ../apps/include
725    DEPEND[dtls_mtu_test]=../libcrypto ../libssl libtestutil.a
726  ENDIF
727
728  IF[{- !$disabled{shared} -}]
729    PROGRAMS{noinst}=shlibloadtest
730    SOURCE[shlibloadtest]=shlibloadtest.c simpledynamic.c
731    INCLUDE[shlibloadtest]=../include ../apps/include
732
733    PROGRAMS{noinst}=moduleloadtest
734    SOURCE[moduleloadtest]=moduleloadtest.c simpledynamic.c
735    INCLUDE[moduleloadtest]=../include ../apps/include
736  ENDIF
737
738  # cipher_overhead_test uses internal symbols, so it must be linked with
739  # the static libraries
740  PROGRAMS{noinst}=cipher_overhead_test
741  SOURCE[cipher_overhead_test]=cipher_overhead_test.c
742  INCLUDE[cipher_overhead_test]=.. ../include ../apps/include
743  DEPEND[cipher_overhead_test]=../libcrypto.a ../libssl.a libtestutil.a
744
745  SOURCE[uitest]=uitest.c ../apps/lib/apps_ui.c
746  INCLUDE[uitest]=.. ../include ../apps/include
747  DEPEND[uitest]=../libcrypto ../libssl libtestutil.a
748
749  SOURCE[cipherbytes_test]=cipherbytes_test.c
750  INCLUDE[cipherbytes_test]=../include ../apps/include
751  DEPEND[cipherbytes_test]=../libcrypto ../libssl libtestutil.a
752
753  SOURCE[asn1_encode_test]=asn1_encode_test.c
754  INCLUDE[asn1_encode_test]=../include ../apps/include
755  DEPEND[asn1_encode_test]=../libcrypto libtestutil.a
756
757  SOURCE[asn1_decode_test]=asn1_decode_test.c
758  INCLUDE[asn1_decode_test]=../include ../apps/include
759  DEPEND[asn1_decode_test]=../libcrypto libtestutil.a
760
761  SOURCE[asn1_string_table_test]=asn1_string_table_test.c
762  INCLUDE[asn1_string_table_test]=../include ../apps/include
763  DEPEND[asn1_string_table_test]=../libcrypto libtestutil.a
764
765  SOURCE[asn1_stable_parse_test]=asn1_stable_parse_test.c
766  INCLUDE[asn1_stable_parse_test]=../include ../apps/include
767  DEPEND[asn1_stable_parse_test]=../libcrypto libtestutil.a
768
769  SOURCE[time_offset_test]=time_offset_test.c
770  INCLUDE[time_offset_test]=../include ../apps/include
771  DEPEND[time_offset_test]=../libcrypto libtestutil.a
772
773  SOURCE[conf_include_test]=conf_include_test.c
774  INCLUDE[conf_include_test]=../include ../apps/include
775  DEPEND[conf_include_test]=../libcrypto libtestutil.a
776
777  IF[{- !$disabled{cmp} -}]
778    PROGRAMS{noinst}=cmp_asn_test cmp_ctx_test cmp_status_test cmp_hdr_test \
779                     cmp_protect_test cmp_msg_test cmp_vfy_test \
780                     cmp_server_test cmp_client_test
781  ENDIF
782
783  SOURCE[cmp_asn_test]=cmp_asn_test.c helpers/cmp_testlib.c
784  INCLUDE[cmp_asn_test]=.. ../include ../apps/include
785  DEPEND[cmp_asn_test]=../libcrypto.a libtestutil.a
786
787  SOURCE[cmp_ctx_test]=cmp_ctx_test.c helpers/cmp_testlib.c
788  INCLUDE[cmp_ctx_test]=.. ../include ../apps/include
789  DEPEND[cmp_ctx_test]=../libcrypto.a libtestutil.a
790
791  SOURCE[cmp_hdr_test]=cmp_hdr_test.c helpers/cmp_testlib.c
792  INCLUDE[cmp_hdr_test]=.. ../include ../apps/include
793  DEPEND[cmp_hdr_test]=../libcrypto.a libtestutil.a
794
795  SOURCE[cmp_status_test]=cmp_status_test.c helpers/cmp_testlib.c
796  INCLUDE[cmp_status_test]=.. ../include ../apps/include
797  DEPEND[cmp_status_test]=../libcrypto.a libtestutil.a
798
799  SOURCE[cmp_protect_test]=cmp_protect_test.c helpers/cmp_testlib.c
800  INCLUDE[cmp_protect_test]=.. ../include ../apps/include
801  DEPEND[cmp_protect_test]=../libcrypto.a libtestutil.a
802
803  SOURCE[cmp_msg_test]=cmp_msg_test.c helpers/cmp_testlib.c
804  INCLUDE[cmp_msg_test]=.. ../include ../apps/include
805  DEPEND[cmp_msg_test]=../libcrypto.a libtestutil.a
806
807  SOURCE[cmp_vfy_test]=cmp_vfy_test.c helpers/cmp_testlib.c
808  INCLUDE[cmp_vfy_test]=.. ../include ../apps/include
809  DEPEND[cmp_vfy_test]=../libcrypto.a libtestutil.a
810
811  SOURCE[cmp_server_test]=cmp_server_test.c helpers/cmp_testlib.c
812  INCLUDE[cmp_server_test]=.. ../include ../apps/include
813  DEPEND[cmp_server_test]=../libcrypto libtestutil.a
814
815  SOURCE[cmp_client_test]=cmp_client_test.c helpers/cmp_testlib.c ../apps/lib/cmp_mock_srv.c
816  INCLUDE[cmp_client_test]=.. ../include ../apps/include
817  DEPEND[cmp_client_test]=../libcrypto.a libtestutil.a
818
819  SOURCE[ca_internals_test]=ca_internals_test.c ../apps/ca.c ../apps/lib/apps.c \
820                            ../apps/lib/app_rand.c ../apps/lib/engine.c ../apps/lib/app_provider.c \
821                            ../apps/lib/app_libctx.c ../apps/lib/fmt.c ../apps/lib/apps_ui.c \
822                            ../apps/lib/app_x509.c ../crypto/asn1/a_time.c ../crypto/ctype.c
823  INCLUDE[ca_internals_test]=.. ../include ../apps/include
824  DEPEND[ca_internals_test]=libtestutil.a ../libssl
825
826  # Internal test programs.  These are essentially a collection of internal
827  # test routines.  Some of them need to reach internal symbols that aren't
828  # available through the shared library (at least on Linux, Solaris, Windows
829  # and VMS, where the exported symbols are those listed in util/*.num), these
830  # programs are forcibly linked with the static libraries, where all symbols
831  # are always available.
832  IF[1]
833    PROGRAMS{noinst}=asn1_internal_test modes_internal_test x509_internal_test \
834                     tls13encryptiontest wpackettest ctype_internal_test \
835                     rdcpu_sanitytest property_test ideatest rsa_mp_test \
836                     rsa_sp800_56b_test bn_internal_test ecdsatest rsa_test \
837                     rc2test rc4test rc5test hmactest ffc_internal_test \
838                     asn1_dsa_internal_test dsatest dsa_no_digest_size_test \
839                     dhtest ssl_old_test
840
841    IF[{- !$disabled{poly1305} -}]
842      PROGRAMS{noinst}=poly1305_internal_test
843    ENDIF
844    IF[{- !$disabled{chacha} -}]
845      PROGRAMS{noinst}=chacha_internal_test
846    ENDIF
847    IF[{- !$disabled{siphash} -}]
848      PROGRAMS{noinst}=siphash_internal_test
849    ENDIF
850    IF[{- !$disabled{sm2} -}]
851      PROGRAMS{noinst}=sm2_internal_test
852    ENDIF
853    IF[{- !$disabled{sm3} -}]
854      PROGRAMS{noinst}=sm3_internal_test
855    ENDIF
856    IF[{- !$disabled{sm4} -}]
857      PROGRAMS{noinst}=sm4_internal_test
858    ENDIF
859    IF[{- !$disabled{ec} -}]
860      PROGRAMS{noinst}=ectest ec_internal_test evp_pkey_dhkem_test
861    ENDIF
862    IF[{- !$disabled{ecx} -}]
863      PROGRAMS{noinst}=curve448_internal_test
864    ENDIF
865    IF[{- !$disabled{cmac} -}]
866      PROGRAMS{noinst}=cmactest
867    ENDIF
868
869    SOURCE[poly1305_internal_test]=poly1305_internal_test.c
870    INCLUDE[poly1305_internal_test]=.. ../include ../apps/include
871    DEPEND[poly1305_internal_test]=../libcrypto.a libtestutil.a
872
873    SOURCE[chacha_internal_test]=chacha_internal_test.c
874    INCLUDE[chacha_internal_test]=.. ../include ../apps/include
875    DEPEND[chacha_internal_test]=../libcrypto.a libtestutil.a
876
877    SOURCE[asn1_internal_test]=asn1_internal_test.c
878    INCLUDE[asn1_internal_test]=.. ../include ../apps/include
879    DEPEND[asn1_internal_test]=../libcrypto.a libtestutil.a
880
881    SOURCE[modes_internal_test]=modes_internal_test.c
882    INCLUDE[modes_internal_test]=.. ../include ../apps/include
883    DEPEND[modes_internal_test]=../libcrypto.a libtestutil.a
884
885    SOURCE[x509_internal_test]=x509_internal_test.c
886    INCLUDE[x509_internal_test]=.. ../include ../apps/include
887    DEPEND[x509_internal_test]=../libcrypto.a libtestutil.a
888
889    SOURCE[rsa_test]=rsa_test.c
890    INCLUDE[rsa_test]=../include ../apps/include
891    DEPEND[rsa_test]=../libcrypto.a libtestutil.a
892
893    SOURCE[rsa_mp_test]=rsa_mp_test.c
894    INCLUDE[rsa_mp_test]=../include ../apps/include
895    DEPEND[rsa_mp_test]=../libcrypto.a libtestutil.a
896
897    SOURCE[ecdsatest]=ecdsatest.c
898    INCLUDE[ecdsatest]=../include ../apps/include
899    DEPEND[ecdsatest]=../libcrypto.a libtestutil.a
900
901    SOURCE[dsatest]=dsatest.c
902    INCLUDE[dsatest]=../include ../apps/include
903    DEPEND[dsatest]=../libcrypto.a libtestutil.a
904
905    SOURCE[dsa_no_digest_size_test]=dsa_no_digest_size_test.c
906    INCLUDE[dsa_no_digest_size_test]=../include ../apps/include
907    DEPEND[dsa_no_digest_size_test]=../libcrypto.a libtestutil.a
908
909    SOURCE[tls13encryptiontest]=tls13encryptiontest.c
910    INCLUDE[tls13encryptiontest]=.. ../include ../apps/include
911    DEPEND[tls13encryptiontest]=../libcrypto.a ../libssl.a libtestutil.a
912
913    SOURCE[ideatest]=ideatest.c
914    INCLUDE[ideatest]=../include ../apps/include
915    DEPEND[ideatest]=../libcrypto.a libtestutil.a
916
917    SOURCE[wpackettest]=wpackettest.c
918    INCLUDE[wpackettest]=../include ../apps/include
919    DEPEND[wpackettest]=../libcrypto.a ../libssl.a libtestutil.a
920
921    SOURCE[property_test]=property_test.c
922    INCLUDE[property_test]=.. ../include ../apps/include
923    DEPEND[property_test]=../libcrypto.a libtestutil.a
924
925    SOURCE[ctype_internal_test]=ctype_internal_test.c
926    INCLUDE[ctype_internal_test]=.. ../include ../apps/include
927    DEPEND[ctype_internal_test]=../libcrypto.a libtestutil.a
928
929    SOURCE[sparse_array_test]=sparse_array_test.c
930    INCLUDE[sparse_array_test]=../include ../apps/include
931    DEPEND[sparse_array_test]=../libcrypto.a libtestutil.a
932
933    IF[{- !$disabled{quic} -}]
934      SOURCE[priority_queue_test]=priority_queue_test.c
935      INCLUDE[priority_queue_test]=../include ../apps/include
936      DEPEND[priority_queue_test]=../libcrypto ../libssl.a libtestutil.a
937
938      SOURCE[quicfaultstest]=quicfaultstest.c helpers/ssltestlib.c $QUICTESTHELPERS
939      INCLUDE[quicfaultstest]=../include ../apps/include ..
940      DEPEND[quicfaultstest]=../libcrypto.a ../libssl.a libtestutil.a
941
942      SOURCE[quicapitest]=quicapitest.c helpers/ssltestlib.c $QUICTESTHELPERS
943      INCLUDE[quicapitest]=../include ../apps/include
944      DEPEND[quicapitest]=../libcrypto.a ../libssl.a libtestutil.a
945
946      SOURCE[quic_newcid_test]=quic_newcid_test.c helpers/ssltestlib.c $QUICTESTHELPERS
947      INCLUDE[quic_newcid_test]=../include ../apps/include ..
948      DEPEND[quic_newcid_test]=../libcrypto.a ../libssl.a libtestutil.a
949
950      SOURCE[quic_srt_gen_test]=quic_srt_gen_test.c helpers/ssltestlib.c $QUICTESTHELPERS
951      INCLUDE[quic_srt_gen_test]=../include ../apps/include ..
952      DEPEND[quic_srt_gen_test]=../libcrypto.a ../libssl.a libtestutil.a
953    ENDIF
954
955    IF[{- !$disabled{qlog} -}]
956      SOURCE[json_test]=json_test.c helpers/ssltestlib.c $QUICTESTHELPERS
957      INCLUDE[json_test]=../include ../apps/include
958      DEPEND[json_test]=../libcrypto.a ../libssl.a libtestutil.a
959    ENDIF
960
961    SOURCE[dhtest]=dhtest.c
962    INCLUDE[dhtest]=../include ../apps/include
963    DEPEND[dhtest]=../libcrypto.a libtestutil.a
964
965    SOURCE[list_test]=list_test.c
966    INCLUDE[list_test]=../include ../apps/include
967    DEPEND[list_test]=libtestutil.a
968
969    SOURCE[hmactest]=hmactest.c
970    INCLUDE[hmactest]=../include ../apps/include
971    DEPEND[hmactest]=../libcrypto.a libtestutil.a
972
973    IF[{- !$disabled{cmac} -}]
974      SOURCE[cmactest]=cmactest.c
975      INCLUDE[cmactest]=../include ../apps/include
976      DEPEND[cmactest]=../libcrypto.a libtestutil.a
977    ENDIF
978
979    SOURCE[siphash_internal_test]=siphash_internal_test.c
980    INCLUDE[siphash_internal_test]=.. ../include ../apps/include
981    DEPEND[siphash_internal_test]=../libcrypto.a libtestutil.a
982
983    SOURCE[sm2_internal_test]=sm2_internal_test.c
984    INCLUDE[sm2_internal_test]=../include ../apps/include
985    DEPEND[sm2_internal_test]=../libcrypto.a libtestutil.a
986
987    SOURCE[sm3_internal_test]=sm3_internal_test.c
988    INCLUDE[sm3_internal_test]=../include ../apps/include
989    DEPEND[sm3_internal_test]=../libcrypto.a libtestutil.a
990
991    SOURCE[sm4_internal_test]=sm4_internal_test.c
992    INCLUDE[sm4_internal_test]=.. ../include ../apps/include
993    DEPEND[sm4_internal_test]=../libcrypto.a libtestutil.a
994
995    SOURCE[destest]=destest.c
996    INCLUDE[destest]=../include ../apps/include
997    DEPEND[destest]=../libcrypto.a libtestutil.a
998
999    SOURCE[rc2test]=rc2test.c
1000    INCLUDE[rc2test]=../include ../apps/include
1001    DEPEND[rc2test]=../libcrypto.a libtestutil.a
1002
1003    SOURCE[rc4test]=rc4test.c
1004    INCLUDE[rc4test]=../include ../apps/include
1005    DEPEND[rc4test]=../libcrypto.a libtestutil.a
1006
1007    SOURCE[rc5test]=rc5test.c
1008    INCLUDE[rc5test]=../include ../apps/include
1009    DEPEND[rc5test]=../libcrypto libtestutil.a
1010
1011    SOURCE[ec_internal_test]=ec_internal_test.c $INITSRC
1012    INCLUDE[ec_internal_test]=../include ../crypto/ec ../apps/include
1013    DEPEND[ec_internal_test]=../libcrypto.a libtestutil.a
1014
1015    IF[{- !$disabled{ecx} -}]
1016      SOURCE[curve448_internal_test]=curve448_internal_test.c
1017      INCLUDE[curve448_internal_test]=.. ../include ../apps/include ../crypto/ec/curve448
1018      DEPEND[curve448_internal_test]=../libcrypto.a libtestutil.a
1019    ENDIF
1020
1021    SOURCE[rc4test]=rc4test.c
1022    INCLUDE[rc4test]=../include ../apps/include
1023    DEPEND[rc4test]=../libcrypto libtestutil.a
1024
1025    SOURCE[rdcpu_sanitytest]=rdcpu_sanitytest.c
1026    INCLUDE[rdcpu_sanitytest]=../include ../apps/include ../crypto
1027    DEPEND[rdcpu_sanitytest]=../libcrypto libtestutil.a
1028
1029    SOURCE[rsa_sp800_56b_test]=rsa_sp800_56b_test.c
1030    INCLUDE[rsa_sp800_56b_test]=.. ../include ../crypto/rsa ../apps/include
1031    DEPEND[rsa_sp800_56b_test]=../libcrypto.a libtestutil.a
1032
1033    IF[{- !$disabled{'deprecated-3.0'} -}]
1034      PROGRAMS{noinst}=rsa_x931_test
1035      SOURCE[rsa_x931_test]=rsa_x931_test.c
1036      INCLUDE[rsa_x931_test]=.. ../include ../apps/include
1037      DEPEND[rsa_x931_test]=../libcrypto.a libtestutil.a
1038    ENDIF
1039
1040    SOURCE[bn_internal_test]=bn_internal_test.c
1041    INCLUDE[bn_internal_test]=.. ../include ../crypto/bn ../apps/include
1042    DEPEND[bn_internal_test]=../libcrypto.a libtestutil.a
1043
1044    SOURCE[asn1_dsa_internal_test]=asn1_dsa_internal_test.c
1045    INCLUDE[asn1_dsa_internal_test]=.. ../include ../apps/include
1046    DEPEND[asn1_dsa_internal_test]=../libcrypto.a libtestutil.a
1047
1048    IF[{- !$disabled{'ml-kem'} -}]
1049      PROGRAMS{noinst}=ml_kem_internal_test
1050      SOURCE[ml_kem_internal_test]=ml_kem_internal_test.c
1051      INCLUDE[ml_kem_internal_test]=../include ../apps/include
1052      DEPEND[ml_kem_internal_test]=../libcrypto.a libtestutil.a
1053
1054      PROGRAMS{noinst}=ml_kem_evp_extra_test
1055      SOURCE[ml_kem_evp_extra_test]=ml_kem_evp_extra_test.c
1056      INCLUDE[ml_kem_evp_extra_test]=../include ../apps/include
1057      DEPEND[ml_kem_evp_extra_test]=../libcrypto.a libtestutil.a
1058    ENDIF
1059
1060    SOURCE[keymgmt_internal_test]=keymgmt_internal_test.c
1061    INCLUDE[keymgmt_internal_test]=.. ../include ../apps/include
1062    DEPEND[keymgmt_internal_test]=../libcrypto.a libtestutil.a
1063
1064    SOURCE[ffc_internal_test]=ffc_internal_test.c
1065    INCLUDE[ffc_internal_test]=.. ../include ../apps/include
1066    DEPEND[ffc_internal_test]=../libcrypto.a libtestutil.a
1067
1068    IF[{- !$disabled{mdc2} -}]
1069      PROGRAMS{noinst}=mdc2_internal_test
1070    ENDIF
1071
1072    SOURCE[mdc2_internal_test]=mdc2_internal_test.c
1073    INCLUDE[mdc2_internal_test]=.. ../include ../apps/include
1074    DEPEND[mdc2_internal_test]=../libcrypto.a libtestutil.a
1075
1076    SOURCE[ssl_old_test]=ssl_old_test.c helpers/predefined_dhparams.c
1077    INCLUDE[ssl_old_test]=.. ../include ../apps/include
1078    DEPEND[ssl_old_test]=../libcrypto.a ../libssl.a libtestutil.a
1079
1080    PROGRAMS{noinst}=ext_internal_test
1081    SOURCE[ext_internal_test]=ext_internal_test.c
1082    INCLUDE[ext_internal_test]=.. ../include ../apps/include
1083    DEPEND[ext_internal_test]=../libcrypto.a ../libssl.a libtestutil.a
1084
1085    PROGRAMS{noinst}=algorithmid_test
1086    SOURCE[algorithmid_test]=algorithmid_test.c
1087    INCLUDE[algorithmid_test]=../include ../apps/include
1088    DEPEND[algorithmid_test]=../libcrypto.a libtestutil.a
1089  ENDIF
1090
1091  PROGRAMS{noinst}=asn1_time_test
1092  SOURCE[asn1_time_test]=asn1_time_test.c ../crypto/ctype.c \
1093                         ../crypto/asn1/a_time.c
1094  INCLUDE[asn1_time_test]=../include ../apps/include
1095  DEPEND[asn1_time_test]=../libcrypto libtestutil.a
1096
1097  # We disable this test completely in a shared build because it deliberately
1098  # redefines some internal libssl symbols. This doesn't work in a non-shared
1099  # build
1100  IF[{- !$disabled{shared} -}]
1101    PROGRAMS{noinst}=tls13secretstest
1102    SOURCE[tls13secretstest]=tls13secretstest.c
1103    DEFINE[tls13secretstest]=OPENSSL_NO_KTLS
1104    SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../crypto/packet.c ../crypto/quic_vlint.c
1105    INCLUDE[tls13secretstest]=.. ../include ../apps/include
1106    DEPEND[tls13secretstest]=../libcrypto ../libssl libtestutil.a
1107  ENDIF
1108
1109  SOURCE[sslbuffertest]=sslbuffertest.c helpers/ssltestlib.c
1110  INCLUDE[sslbuffertest]=../include ../apps/include
1111  DEPEND[sslbuffertest]=../libcrypto ../libssl libtestutil.a
1112
1113  SOURCE[sysdefaulttest]=sysdefaulttest.c
1114  INCLUDE[sysdefaulttest]=../include ../apps/include
1115  DEPEND[sysdefaulttest]=../libcrypto ../libssl libtestutil.a
1116
1117  SOURCE[errtest]=errtest.c
1118  INCLUDE[errtest]=../include ../apps/include
1119  DEPEND[errtest]=../libcrypto libtestutil.a
1120
1121  SOURCE[aesgcmtest]=aesgcmtest.c
1122  INCLUDE[aesgcmtest]=../include ../apps/include ..
1123  DEPEND[aesgcmtest]=../libcrypto libtestutil.a
1124
1125  PROGRAMS{noinst}=context_internal_test
1126  SOURCE[context_internal_test]=context_internal_test.c
1127  INCLUDE[context_internal_test]=.. ../include ../apps/include
1128  DEPEND[context_internal_test]=../libcrypto libtestutil.a
1129
1130  IF[{- !$disabled{zlib} || !$disabled{brotli} || !$disabled{zstd} -}]
1131    PROGRAMS{noinst}=bio_comp_test
1132    SOURCE[bio_comp_test]=bio_comp_test.c
1133    INCLUDE[bio_comp_test]=../include ../apps/include
1134    DEPEND[bio_comp_test]=../libcrypto libtestutil.a
1135  ENDIF
1136
1137  PROGRAMS{noinst}=provider_internal_test
1138  DEFINE[provider_internal_test]=PROVIDER_INIT_FUNCTION_NAME=p_test_init
1139  SOURCE[provider_internal_test]=provider_internal_test.c p_test.c
1140  INCLUDE[provider_internal_test]=../include ../apps/include ..
1141  DEPEND[provider_internal_test]=../libcrypto.a libtestutil.a
1142  PROGRAMS{noinst}=provider_test
1143  DEFINE[provider_test]=PROVIDER_INIT_FUNCTION_NAME=p_test_init
1144  SOURCE[provider_test]=provider_test.c p_test.c
1145  INCLUDE[provider_test]=../include ../apps/include ..
1146  DEPEND[provider_test]=../libcrypto libtestutil.a
1147  IF[{- !$disabled{module} -}]
1148    MODULES{noinst}=p_test
1149    SOURCE[p_test]=p_test.c
1150    INCLUDE[p_test]=../include ..
1151    IF[{- defined $target{shared_defflag} -}]
1152      SOURCE[p_test]=p_test.ld
1153      GENERATE[p_test.ld]=../util/providers.num
1154    ENDIF
1155    MODULES{noinst}=p_minimal
1156    SOURCE[p_minimal]=p_minimal.c
1157    INCLUDE[p_minimal]=../include ..
1158    IF[{- defined $target{shared_defflag} -}]
1159      SOURCE[p_minimal]=p_minimal.ld
1160      GENERATE[p_minimal.ld]=../util/providers.num
1161    ENDIF
1162  ENDIF
1163  IF[{- $disabled{module} || !$target{dso_scheme} -}]
1164    DEFINE[provider_test]=NO_PROVIDER_MODULE
1165    DEFINE[prov_config_test]=NO_PROVIDER_MODULE
1166    DEFINE[provider_internal_test]=NO_PROVIDER_MODULE
1167  ENDIF
1168  DEPEND[]=provider_internal_test.cnf
1169  GENERATE[provider_internal_test.cnf]=provider_internal_test.cnf.in
1170
1171  PROGRAMS{noinst}=provider_fallback_test
1172  SOURCE[provider_fallback_test]=provider_fallback_test.c
1173  INCLUDE[provider_fallback_test]=../include ../apps/include
1174  DEPEND[provider_fallback_test]=../libcrypto libtestutil.a
1175
1176  PROGRAMS{noinst}=provider_pkey_test
1177  SOURCE[provider_pkey_test]=provider_pkey_test.c fake_rsaprov.c
1178  INCLUDE[provider_pkey_test]=../include ../apps/include
1179  DEPEND[provider_pkey_test]=../libcrypto libtestutil.a
1180
1181  PROGRAMS{noinst}=evp_skey_test
1182  SOURCE[evp_skey_test]=evp_skey_test.c fake_cipherprov.c
1183  INCLUDE[evp_skey_test]=../include ../apps/include
1184  DEPEND[evp_skey_test]=../libcrypto libtestutil.a
1185
1186  PROGRAMS{noinst}=provider_default_search_path_test
1187  SOURCE[provider_default_search_path_test]=provider_default_search_path_test.c
1188  INCLUDE[provider_default_search_path_test]=../include ../apps/include
1189  DEPEND[provider_default_search_path_test]=../libcrypto libtestutil.a
1190
1191  PROGRAMS{noinst}=params_test
1192  SOURCE[params_test]=params_test.c
1193  INCLUDE[params_test]=.. ../include ../apps/include
1194  DEPEND[params_test]=../libcrypto libtestutil.a
1195
1196  PROGRAMS{noinst}=hexstr_test
1197  SOURCE[hexstr_test]=hexstr_test.c
1198  INCLUDE[hexstr_test]=.. ../include ../apps/include
1199  DEPEND[hexstr_test]=../libcrypto.a libtestutil.a
1200
1201  PROGRAMS{noinst}=trace_api_test
1202  SOURCE[trace_api_test]=trace_api_test.c
1203  INCLUDE[trace_api_test]=.. ../include ../apps/include
1204  DEPEND[trace_api_test]=../libcrypto libtestutil.a
1205
1206  PROGRAMS{noinst}=endecode_test
1207  SOURCE[endecode_test]=endecode_test.c helpers/predefined_dhparams.c
1208  INCLUDE[endecode_test]=.. ../include ../apps/include
1209  DEPEND[endecode_test]=../libcrypto.a libtestutil.a
1210  IF[{- !$disabled{module} && !$disabled{legacy} -}]
1211    DEFINE[endecode_test]=STATIC_LEGACY
1212    SOURCE[endecode_test]=../providers/legacyprov.c
1213    INCLUDE[endecode_test]=../providers/common/include \
1214                           ../providers/implementations/include
1215    DEPEND[endecode_test]=../providers/liblegacy.a \
1216                          ../providers/libcommon.a
1217  ENDIF
1218
1219  IF[{- !$disabled{'deprecated-3.0'} -}]
1220    PROGRAMS{noinst}=endecoder_legacy_test
1221    SOURCE[endecoder_legacy_test]=endecoder_legacy_test.c
1222    INCLUDE[endecoder_legacy_test]=.. ../include ../apps/include
1223    DEPEND[endecoder_legacy_test]=../libcrypto.a libtestutil.a
1224  ENDIF
1225
1226  PROGRAMS{noinst}=decoder_propq_test
1227  SOURCE[decoder_propq_test]=decoder_propq_test.c
1228  INCLUDE[decoder_propq_test]=.. ../include ../apps/include
1229  DEPEND[decoder_propq_test]=../libcrypto libtestutil.a
1230
1231  PROGRAMS{noinst}=namemap_internal_test
1232  SOURCE[namemap_internal_test]=namemap_internal_test.c
1233  INCLUDE[namemap_internal_test]=.. ../include ../apps/include
1234  DEPEND[namemap_internal_test]=../libcrypto.a libtestutil.a
1235
1236  PROGRAMS{noinst}=bio_prefix_text
1237  SOURCE[bio_prefix_text]=bio_prefix_text.c
1238  INCLUDE[bio_prefix_text]=.. ../include ../apps/include
1239  DEPEND[bio_prefix_text]=../libcrypto libtestutil.a
1240
1241  PROGRAMS{noinst}=mem_alloc_test
1242  SOURCE[mem_alloc_test]=mem_alloc_test.c
1243  INCLUDE[mem_alloc_test]=../include ../apps/include
1244  DEPEND[mem_alloc_test]=../libcrypto libtestutil.a
1245
1246  PROGRAMS{noinst}=mem_alloc_custom_fns_test
1247  SOURCE[mem_alloc_custom_fns_test]=mem_alloc_custom_fns_test.c
1248  INCLUDE[mem_alloc_custom_fns_test]=../include ../apps/include
1249  DEPEND[mem_alloc_custom_fns_test]=../libcrypto libtestutil.a
1250
1251  IF[{- !$disabled{'deprecated-3.0'} -}]
1252    PROGRAMS{noinst}=pem_read_depr_test
1253    SOURCE[pem_read_depr_test]=pem_read_depr_test.c
1254    INCLUDE[pem_read_depr_test]=../include ../apps/include
1255    DEPEND[pem_read_depr_test]=../libcrypto libtestutil.a
1256  ENDIF
1257ENDIF
1258
1259  SOURCE[ssl_ctx_test]=ssl_ctx_test.c
1260  INCLUDE[ssl_ctx_test]=../include ../apps/include
1261  DEPEND[ssl_ctx_test]=../libcrypto ../libssl libtestutil.a
1262
1263  SOURCE[build_wincrypt_test]=build_wincrypt_test.c
1264  INCLUDE[build_wincrypt_test]=../include
1265  DEPEND[build_wincrypt_test]=../libssl ../libcrypto
1266
1267  IF[{- !$disabled{shared} -}]
1268    PROGRAMS{noinst}=timing_load_creds
1269    SOURCE[timing_load_creds]=timing_load_creds.c
1270    INCLUDE[timing_load_creds]=../include
1271    DEPEND[timing_load_creds]=../libcrypto
1272  ENDIF
1273
1274  IF[{- !$disabled{'quic'} -}]
1275    PROGRAMS{noinst}=quic_wire_test quic_ackm_test quic_record_test
1276    PROGRAMS{noinst}=quic_fc_test quic_stream_test quic_cfq_test quic_txpim_test
1277    PROGRAMS{noinst}=quic_srtm_test quic_lcidm_test quic_rcidm_test
1278    PROGRAMS{noinst}=quic_fifd_test quic_txp_test quic_tserver_test
1279    PROGRAMS{noinst}=quic_client_test quic_cc_test quic_multistream_test
1280    PROGRAMS{noinst}=quic_radix_test
1281
1282    SOURCE[quic_ackm_test]=quic_ackm_test.c cc_dummy.c
1283    INCLUDE[quic_ackm_test]=../include ../apps/include
1284    DEPEND[quic_ackm_test]=../libcrypto ../libssl.a libtestutil.a
1285
1286    SOURCE[quic_cc_test]=quic_cc_test.c
1287    INCLUDE[quic_cc_test]=../include ../apps/include
1288    DEPEND[quic_cc_test]=../libcrypto ../libssl.a libtestutil.a
1289  ENDIF
1290
1291  SOURCE[cert_comp_test]=cert_comp_test.c helpers/ssltestlib.c
1292  INCLUDE[cert_comp_test]=../include ../apps/include ..
1293  DEPEND[cert_comp_test]=../libcrypto.a ../libssl.a libtestutil.a
1294
1295  SOURCE[x509_acert_test]=x509_acert_test.c
1296  INCLUDE[x509_acert_test]=../include ../apps/include
1297  DEPEND[x509_acert_test]=../libcrypto libtestutil.a
1298
1299  SOURCE[x509_req_test]=x509_req_test.c
1300  INCLUDE[x509_req_test]=../include ../apps/include
1301  DEPEND[x509_req_test]=../libcrypto libtestutil.a
1302
1303  SOURCE[strtoultest]=strtoultest.c
1304  INCLUDE[strtoultest]=../include ../apps/include
1305  DEPEND[strtoultest]=../libcrypto libtestutil.a
1306
1307  SOURCE[bio_pw_callback_test]=bio_pw_callback_test.c
1308  INCLUDE[bio_pw_callback_test]=../include ../apps/include
1309  DEPEND[bio_pw_callback_test]=../libcrypto libtestutil.a
1310
1311{-
1312   use File::Spec::Functions;
1313   use File::Basename;
1314   use OpenSSL::Glob;
1315
1316   my @nogo_headers = ( "opensslconf.h",
1317                        "__decc_include_prologue.h",
1318                        "__decc_include_epilogue.h" );
1319   my @nogo_headers_re = ( qr/.*err\.h/ );
1320   my @headerfiles = glob catfile($sourcedir,
1321                                  updir(), "include", "openssl", "*.h");
1322
1323   foreach my $headerfile (@headerfiles) {
1324       my $name = basename($headerfile, ".h");
1325       next if $disabled{$name};
1326       next if grep { $_ eq lc("$name.h") } @nogo_headers;
1327       next if grep { lc("$name.h") =~ m/$_/i } @nogo_headers_re;
1328       $OUT .= <<"_____";
1329
1330  PROGRAMS{noinst}=buildtest_c_$name
1331  SOURCE[buildtest_c_$name]=buildtest_$name.c
1332  GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
1333  INCLUDE[buildtest_c_$name]=../include
1334  DEPEND[buildtest_c_$name]=../libssl ../libcrypto
1335_____
1336       $OUT .= <<"_____" if $config{CXX} && !$disabled{"buildtest-c++"};
1337
1338  PROGRAMS{noinst}=buildtest_cc_$name
1339  SOURCE[buildtest_cc_$name]=buildtest_$name.cc
1340  GENERATE[buildtest_$name.cc]=generate_buildtest.pl $name
1341  INCLUDE[buildtest_cc_$name]=../include
1342  DEPEND[buildtest_cc_$name]=../libssl ../libcrypto
1343_____
1344   }
1345-}
1346