diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index 75ebb6e65327..5cb3f5a7c3fe 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -1,790 +1,801 @@ SHLIBDIR?= /lib .if !defined(LIBCRYPTO_WITHOUT_SUBDIRS) && !defined(BOOTSTRAPPING) SUBDIR= engines modules .endif .ifdef BOOTSTRAPPING CFLAGS+= -DOPENSSL_NO_SCTP .endif .include .include LIB= crypto SHLIB_MAJOR= 35 VERSION_MAP= ${.CURDIR}/Version.map NO_LINT= PCFILES= libcrypto.pc .include "Makefile.man" .include "Makefile.inc" # $UTIL_COMMON SRCS= cryptlib.c params.c params_from_text.c bsearch.c ex_data.c o_str.c SRCS+= threads_pthread.c threads_win.c threads_none.c initthread.c SRCS+= context.c sparse_array.c asn1_dsa.c packet.c param_build.c SRCS+= param_build_set.c der_writer.c threads_lib.c params_dup.c SRCS+= time.c params_idx.c SRCS+= mem.c mem_sec.c SRCS+= comp_methods.c cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c SRCS+= o_dir.c o_fopen.c getenv.c o_init.c init.c trace.c provider.c SRCS+= provider_child.c punycode.c passphrase.c sleep.c deterministic_nonce.c SRCS+= quic_vlint.c defaults.c ssl_err.c SRCS+= core_algorithm.c core_fetch.c core_namemap.c cpuid.c ctype.c SRCS+= indicator_core.c SRCS+= provider_conf.c provider_core.c provider_predefined.c SRCS+= self_test_core.c .if defined(ASM_aarch64) SRCS+= arm64cpuid.S armcap.c ACFLAGS.arm64cpuid.S= -march=armv8-a+crypto .elif defined(ASM_amd64) SRCS+= x86_64cpuid.S .elif defined(ASM_arm) SRCS+= armv4cpuid.S armcap.c .elif defined(ASM_i386) SRCS+= x86cpuid.S .elif defined(ASM_powerpc) SRCS+= ppccpuid.S ppccap.c .elif defined(ASM_powerpc64) SRCS+= ppccpuid.S ppccap.c .elif defined(ASM_powerpc64le) SRCS+= ppccpuid.S ppccap.c .else SRCS+= mem_clr.c .endif # aes SRCS+= aes_cfb.c aes_ecb.c aes_ige.c aes_misc.c aes_ofb.c aes_wrap.c .if defined(ASM_aarch64) SRCS+= aes_cbc.c aes_core.c aesv8-armx.S vpaes-armv8.S ACFLAGS.aesv8-armx.S= -march=armv8-a+crypto .elif defined(ASM_amd64) SRCS+= aes-x86_64.S aesni-mb-x86_64.S aesni-sha1-x86_64.S aesni-sha256-x86_64.S SRCS+= aesni-x86_64.S aesni-xts-avx512.S bsaes-x86_64.S vpaes-x86_64.S .elif defined(ASM_arm) SRCS+= aes_cbc.c aes-armv4.S aesv8-armx.S bsaes-armv7.S .elif defined(ASM_i386) SRCS+= aes-586.S aesni-x86.S vpaes-x86.S .elif defined(ASM_powerpc) SRCS+= aes_cbc.c aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S .elif defined(ASM_powerpc64) SRCS+= aes_cbc.c aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S .elif defined(ASM_powerpc64le) SRCS+= aes_cbc.c aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S .else SRCS+= aes_cbc.c aes_core.c .endif # asn1 SRCS+= a_bitstr.c a_d2i_fp.c a_digest.c a_dup.c a_gentm.c a_i2d_fp.c SRCS+= a_int.c a_mbstr.c a_object.c a_octet.c a_print.c a_sign.c a_strex.c SRCS+= a_strnid.c a_time.c a_type.c a_utctm.c a_utf8.c a_verify.c SRCS+= ameth_lib.c asn1_err.c asn1_gen.c asn1_item_list.c asn1_lib.c SRCS+= asn1_parse.c asn_mime.c asn_moid.c asn_mstbl.c asn_pack.c bio_asn1.c SRCS+= bio_ndef.c d2i_param.c d2i_pr.c d2i_pu.c evp_asn1.c f_int.c f_string.c SRCS+= i2d_evp.c n_pkey.c nsseq.c p5_pbe.c p5_pbev2.c p5_scrypt.c p8_pkey.c SRCS+= t_bitst.c t_pkey.c t_spki.c tasn_dec.c tasn_enc.c tasn_fre.c SRCS+= tasn_new.c tasn_prn.c tasn_scn.c tasn_typ.c tasn_utl.c x_algor.c SRCS+= x_bignum.c x_info.c x_int64.c x_long.c x_pkey.c x_sig.c x_spki.c SRCS+= x_val.c # async -SRCS+= async.c async_err.c async_posix.c async_wait.c +SRCS+= async.c async_err.c async_null.c async_posix.c async_wait.c async_win.c # bf SRCS+= bf_cfb64.c bf_ecb.c bf_ofb64.c bf_prefix.c bf_readbuff.c bf_skey.c .if defined(ASM_i386) SRCS+= bf-586.S .else SRCS+= bf_enc.c .endif # bio SRCS+= bio_addr.c bio_dump.c bio_print.c bio_sock.c bio_sock2.c bf_buff.c SRCS+= bf_lbuf.c bf_nbio.c bf_null.c bio_cb.c bio_err.c bio_lib.c bio_meth.c SRCS+= bss_acpt.c bss_bio.c bss_conn.c bss_core.c bss_dgram.c bss_dgram_pair.c bss_fd.c SRCS+= bss_file.c bss_log.c bss_mem.c bss_null.c bss_sock.c ossl_core_bio.c # bn SRCS+= bn_add.c bn_blind.c bn_const.c bn_conv.c bn_ctx.c bn_depr.c bn_dh.c SRCS+= bn_div.c bn_err.c bn_exp.c bn_exp2.c bn_gcd.c bn_gf2m.c bn_intern.c SRCS+= bn_kron.c bn_lib.c bn_mod.c bn_mont.c bn_mpi.c bn_mul.c bn_nist.c SRCS+= bn_prime.c bn_print.c bn_rand.c bn_recp.c bn_rsa_fips186_4.c bn_shift.c SRCS+= bn_sqr.c bn_sqrt.c bn_srp.c bn_word.c bn_x931p.c .if defined(ASM_aarch64) SRCS+= armv8-mont.S bn_asm.c .elif defined(ASM_amd64) SRCS+= rsaz-2k-avx512.S rsaz-2k-avxifma.S SRCS+= rsaz-3k-avx512.S rsaz-3k-avxifma.S SRCS+= rsaz-4k-avx512.S rsaz-4k-avxifma.S SRCS+= rsaz-avx2.S rsaz-x86_64.S rsaz_exp.c rsaz_exp_x2.c SRCS+= x86_64-gcc.c x86_64-gf2m.S x86_64-mont.S x86_64-mont5.S .elif defined(ASM_arm) SRCS+= armv4-gf2m.S armv4-mont.S bn_asm.c .elif defined(ASM_i386) SRCS+= bn-586.S co-586.S x86-gf2m.S x86-mont.S .elif defined(ASM_powerpc) SRCS+= bn_ppc.c bn-ppc.S ppc-mont.S .elif defined(ASM_powerpc64) SRCS+= bn_ppc.c bn-ppc.S ppc-mont.S .elif defined(ASM_powerpc64le) SRCS+= bn_ppc.c bn-ppc.S ppc-mont.S .else SRCS+= bn_asm.c .endif # Full of strict aliasing violations that LLVM has been seen to break with # optimisations, which can lead to ECDSA signatures not working. See # https://github.com/openssl/openssl/issues/12247 for the upstream bug report. CFLAGS.bn_nist.c+= -fno-strict-aliasing # buffer SRCS+= buf_err.c buffer.c # camellia SRCS+= cmll_cfb.c cmll_ctr.c cmll_ecb.c cmll_ofb.c .if defined(ASM_amd64) SRCS+= cmll-x86_64.S cmll_misc.c .elif defined(ASM_i386) SRCS+= cmll-x86.S .else SRCS+= camellia.c cmll_cbc.c cmll_misc.c .endif # cast SRCS+= c_cfb64.c c_ecb.c c_enc.c c_ofb64.c c_skey.c # chacha .if defined(ASM_aarch64) SRCS+= chacha-armv8.S chacha-armv8-sve.S .elif defined(ASM_amd64) SRCS+= chacha-x86_64.S .elif defined(ASM_arm) SRCS+= chacha-armv4.S .elif defined(ASM_i386) SRCS+= chacha-x86.S .elif defined(ASM_powerpc) SRCS+= chacha_ppc.c chacha-ppc.S chachap10-ppc.S .elif defined(ASM_powerpc64) SRCS+= chacha_ppc.c chacha-ppc.S chachap10-ppc.S .elif defined(ASM_powerpc64le) SRCS+= chacha_ppc.c chacha-ppc.S chachap10-ppc.S .else SRCS+= chacha_enc.c .endif # cmac SRCS+= cmac.c # cmp SRCS+= cmp_asn.c cmp_ctx.c cmp_err.c cmp_util.c SRCS+= cmp_status.c cmp_hdr.c cmp_protect.c cmp_msg.c cmp_vfy.c SRCS+= cmp_server.c cmp_client.c cmp_genm.c SRCS+= cmp_http.c # cms SRCS+= cms_asn1.c cms_att.c cms_cd.c cms_dd.c cms_dh.c cms_ec.c cms_enc.c SRCS+= cms_env.c cms_err.c cms_ess.c cms_io.c cms_kari.c cms_lib.c cms_pwri.c SRCS+= cms_rsa.c cms_sd.c cms_smime.c # comp SRCS+= comp_lib.c comp_err.c c_brotli.c c_zstd.c c_zlib.c # conf SRCS+= conf_api.c conf_def.c conf_err.c conf_lib.c conf_mall.c conf_mod.c SRCS+= conf_sap.c conf_ssl.c # crmf SRCS+= crmf_asn.c crmf_err.c crmf_lib.c crmf_pbm.c # ct SRCS+= ct_b64.c ct_err.c ct_log.c ct_oct.c ct_policy.c ct_prn.c ct_sct.c SRCS+= ct_sct_ctx.c ct_vfy.c ct_x509v3.c # des SRCS+= cbc_cksm.c cbc_enc.c cfb64ede.c cfb64enc.c cfb_enc.c ecb3_enc.c SRCS+= ecb_enc.c fcrypt.c ofb64ede.c ofb64enc.c ofb_enc.c pcbc_enc.c SRCS+= qud_cksm.c rand_key.c set_key.c str2key.c xcbc_enc.c .if defined(ASM_i386) SRCS+= crypt586.S des-586.S .else SRCS+= des_enc.c fcrypt_b.c .endif # dh SRCS+= dh_ameth.c dh_asn1.c dh_backend.c dh_check.c dh_depr.c dh_err.c dh_gen.c SRCS+= dh_group_params.c dh_kdf.c dh_key.c dh_lib.c dh_meth.c dh_pmeth.c SRCS+= dh_prn.c dh_rfc5114.c # dsa SRCS+= dsa_ameth.c dsa_asn1.c dsa_backend.c dsa_check.c dsa_depr.c dsa_err.c SRCS+= dsa_gen.c dsa_key.c dsa_lib.c dsa_meth.c dsa_ossl.c dsa_pmeth.c SRCS+= dsa_prn.c dsa_sign.c dsa_vrf.c # dso +SRCS+= dso_dl.c SRCS+= dso_dlfcn.c dso_err.c dso_lib.c +SRCS+= dso_openssl.c +SRCS+= dso_vms.c +SRCS+= dso_win32.c # ec SRCS+= curve25519.c curve448.c curve448_tables.c ec2_oct.c ec2_smpl.c SRCS+= ec_ameth.c ec_asn1.c ec_backend.c ec_check.c ec_curve.c ec_cvt.c SRCS+= ec_deprecated.c ec_err.c ec_key.c ec_kmeth.c ec_lib.c ec_mult.c ec_oct.c SRCS+= ec_pmeth.c ec_print.c ecdh_kdf.c ecdh_ossl.c ecdsa_ossl.c ecdsa_sign.c SRCS+= ecdsa_vrf.c eck_prn.c ecp_mont.c ecp_nist.c SRCS+= ecp_oct.c ecp_smpl.c ecx_backend.c ecx_key.c ecx_meth.c eddsa.c SRCS+= f_generic.c f_impl32.c f_impl64.c scalar.c # see OPENSSL_NO_EC_NISTP_64_GCC_128 in configuration.h .if ${MACHINE_ABI:Mlittle-endian} && ${MACHINE_ABI:Mlong64} SRCS+= ecp_nistp224.c ecp_nistp256.c ecp_nistp384.c ecp_nistp521.c ecp_nistputil.c .else CFLAGS+=-DOPENSSL_NO_EC_NISTP_64_GCC_128 .endif .if defined(ASM_aarch64) SRCS+= ecp_nistz256-armv8.S ecp_nistz256.c .elif defined(ASM_amd64) SRCS+= ecp_nistz256-x86_64.S ecp_nistz256.c x25519-x86_64.S .elif defined(ASM_arm) SRCS+= ecp_nistz256-armv4.S ecp_nistz256.c .elif defined(ASM_i386) SRCS+= ecp_nistz256-x86.S ecp_nistz256.c .elif defined(ASM_powerpc64) SRCS+= ecp_nistp521-ppc64.S ecp_nistz256-ppc64.S ecp_nistz256.c ecp_ppc.c x25519-ppc64.S .elif defined(ASM_powerpc64le) SRCS+= ecp_nistp521-ppc64.S ecp_nistz256-ppc64.S ecp_nistz256.c ecp_ppc.c x25519-ppc64.S .endif # encode_decode SRCS+= decoder_err.c decoder_lib.c decoder_meth.c decoder_pkey.c SRCS+= encoder_err.c encoder_lib.c encoder_meth.c encoder_pkey.c # engine SRCS+= eng_all.c eng_cnf.c eng_ctrl.c eng_dyn.c eng_err.c SRCS+= eng_fat.c eng_init.c eng_lib.c eng_list.c eng_openssl.c eng_pkey.c SRCS+= eng_rdrand.c eng_table.c tb_asnmth.c tb_cipher.c tb_dh.c tb_digest.c SRCS+= tb_dsa.c tb_eckey.c tb_pkmeth.c tb_rand.c tb_rsa.c # err SRCS+= err.c err_all.c err_all_legacy.c err_blocks.c err_mark.c err_prn.c err_save.c # ess SRCS+= ess_asn1.c ess_err.c ess_lib.c # evp SRCS+= asymcipher.c bio_b64.c bio_enc.c bio_md.c bio_ok.c c_allc.c c_alld.c cmeth_lib.c SRCS+= ctrl_params_translate.c dh_ctrl.c dh_support.c digest.c dsa_ctrl.c e_aes.c e_aes_cbc_hmac_sha1.c SRCS+= e_aes_cbc_hmac_sha256.c e_aria.c e_bf.c e_camellia.c e_cast.c SRCS+= e_chacha20_poly1305.c e_des.c e_des3.c e_idea.c e_null.c e_old.c SRCS+= e_rc2.c e_rc4.c e_rc4_hmac_md5.c e_rc5.c e_seed.c e_sm4.c e_xcbc_d.c ec_ctrl.c ec_support.c SRCS+= encode.c evp_cnf.c evp_enc.c evp_err.c evp_fetch.c evp_key.c evp_lib.c evp_pbe.c SRCS+= evp_pkey.c evp_rand.c evp_utils.c exchange.c kdf_lib.c kdf_meth.c kem.c keymgmt_lib.c keymgmt_meth.c SRCS+= legacy_blake2.c legacy_md4.c legacy_md5.c legacy_md5_sha1.c m_null.c SRCS+= legacy_ripemd.c legacy_sha.c legacy_wp.c m_sigver.c mac_lib.c mac_meth.c names.c p5_crpt.c SRCS+= p5_crpt2.c p_dec.c p_enc.c p_legacy.c p_lib.c s_lib.c p_open.c p_seal.c p_sign.c SRCS+= p_verify.c pbe_scrypt.c pmeth_check.c pmeth_gn.c skeymgmt_meth.c pmeth_lib.c signature.c # ffc SRCS+= ffc_backend.c ffc_dh.c ffc_key_generate.c ffc_key_validate.c SRCS+= ffc_params.c ffc_params_generate.c ffc_params_validate.c # hashtable SRCS+= hashtable.c hashfunc.c # hmac -SRCS+= hmac.c hmac_s390x.c +SRCS+= hmac.c # hpke SRCS+= hpke_util.c hpke.c # http SRCS+= http_client.c http_err.c http_lib.c # kdf SRCS+= kdf_err.c # lhash SRCS+= lh_stats.c lhash.c # md4 SRCS+= md4_dgst.c md4_one.c # md5 SRCS+= md5_dgst.c md5_one.c md5_sha1.c .if defined(ASM_amd64) SRCS+= md5-x86_64.S .elif defined(ASM_i386) SRCS+= md5-586.S .endif # ml_dsa SRCS+= ml_dsa_encoders.c ml_dsa_key_compress.c ml_dsa_key.c SRCS+= ml_dsa_matrix.c ml_dsa_ntt.c ml_dsa_params.c ml_dsa_sample.c SRCS+= ml_dsa_sign.c # ml_kem SRCS+= ml_kem.c # modes SRCS+= cbc128.c ccm128.c cfb128.c ctr128.c cts128.c gcm128.c ocb128.c SRCS+= ofb128.c siv128.c wrap128.c xts128.c xts128gb.c .if defined(ASM_aarch64) SRCS+= ghashv8-armx.S aes-gcm-armv8_64.S aes-gcm-armv8-unroll8_64.S ACFLAGS.ghashv8-armx.S= -march=armv8-a+crypto .elif defined(ASM_amd64) SRCS+= aesni-gcm-x86_64.S aes-gcm-avx512.S ghash-x86_64.S .elif defined(ASM_arm) SRCS+= ghash-armv4.S ghashv8-armx.S .elif defined(ASM_i386) SRCS+= ghash-x86.S .elif defined(ASM_powerpc) SRCS+= ghashp8-ppc.S .elif defined(ASM_powerpc64) SRCS+= aes-gcm-ppc.S ghashp8-ppc.S .elif defined(ASM_powerpc64le) SRCS+= aes-gcm-ppc.S ghashp8-ppc.S .endif # objects SRCS+= o_names.c obj_dat.c obj_err.c obj_lib.c obj_xref.c # ocsp SRCS+= ocsp_asn.c ocsp_cl.c ocsp_err.c ocsp_ext.c ocsp_http.c ocsp_lib.c SRCS+= ocsp_prn.c ocsp_srv.c ocsp_vfy.c v3_ocsp.c # pem SRCS+= pem_all.c pem_err.c pem_info.c pem_lib.c pem_oth.c pem_pk8.c SRCS+= pem_pkey.c pem_sign.c pem_x509.c pem_xaux.c pvkfmt.c # pkcs12 SRCS+= p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c SRCS+= p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_npas.c p12_p8d.c SRCS+= p12_p8e.c p12_sbag.c p12_utl.c pk12err.c # pkcs7 SRCS+= bio_pk7.c pk7_asn1.c pk7_attr.c pk7_doit.c pk7_lib.c pk7_mime.c SRCS+= pk7_smime.c pkcs7err.c # poly1305 SRCS+= poly1305.c .if defined(ASM_aarch64) SRCS+= poly1305-armv8.S .elif defined(ASM_amd64) SRCS+= poly1305-x86_64.S .elif defined(ASM_arm) SRCS+= poly1305-armv4.S .elif defined(ASM_i386) SRCS+= poly1305-x86.S .elif defined(ASM_powerpc) SRCS+= poly1305_ppc.c poly1305-ppc.S poly1305-ppcfp.S .elif defined(ASM_powerpc64) SRCS+= poly1305_ppc.c poly1305-ppc.S poly1305-ppcfp.S .elif defined(ASM_powerpc64le) SRCS+= poly1305_ppc.c poly1305-ppc.S poly1305-ppcfp.S .endif # property SRCS+= defn_cache.c property.c property_err.c property_parse.c property_query.c SRCS+= property_string.c # providers SRCS+= baseprov.c defltprov.c nullprov.c prov_running.c # providers/common SRCS+= bio_prov.c capabilities.c digest_to_nid.c provider_ctx.c provider_err.c SRCS+= provider_seeding.c provider_util.c securitycheck.c SRCS+= securitycheck_default.c # providers/common/der SRCS+= der_rsa_gen.c der_rsa_key.c der_rsa_sig.c SRCS+= der_digests_gen.c SRCS+= der_ml_dsa_gen.c der_ml_dsa_key.c SRCS+= der_wrap_gen.c SRCS+= der_slh_dsa_gen.c der_slh_dsa_key.c SRCS+= der_dsa_gen.c der_dsa_key.c der_dsa_sig.c SRCS+= der_ec_gen.c der_ec_key.c der_ec_sig.c SRCS+= der_ecx_gen.c der_ecx_key.c # providers/implementations/asymciphers SRCS+= rsa_enc.c # providers/implementations/ciphers SRCS+= ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \ ciphercommon_gcm.c ciphercommon_gcm_hw.c \ ciphercommon_ccm.c ciphercommon_ccm_hw.c SRCS+= cipher_aes.c cipher_aes_hw.c \ cipher_aes_xts.c cipher_aes_xts_hw.c \ cipher_aes_gcm.c cipher_aes_gcm_hw.c \ cipher_aes_ccm.c cipher_aes_ccm_hw.c \ cipher_aes_wrp.c \ cipher_aes_cbc_hmac_sha.c \ cipher_aes_cbc_hmac_sha256_hw.c cipher_aes_cbc_hmac_sha1_hw.c \ cipher_cts.c SRCS+= cipher_aes_ocb.c cipher_aes_ocb_hw.c SRCS+= cipher_aes_xts_fips.c SRCS+= cipher_aes_gcm_siv.c cipher_aes_gcm_siv_hw.c \ cipher_aes_gcm_siv_polyval.c SRCS+= cipher_aes_siv.c cipher_aes_siv_hw.c -SRCS+= cipher_blowfish.c cipher_blowfish_hw.c SRCS+= cipher_camellia.c cipher_camellia_hw.c -SRCS+= cipher_cast5.c cipher_cast5_hw.c SRCS+= cipher_chacha20.c cipher_chacha20_hw.c SRCS+= cipher_chacha20_poly1305.c cipher_chacha20_poly1305_hw.c -SRCS+= cipher_des.c cipher_des_hw.c -SRCS+= cipher_desx.c cipher_desx_hw.c SRCS+= cipher_null.c -SRCS+= cipher_rc4.c cipher_rc4_hw.c -SRCS+= cipher_rc4_hmac_md5.c cipher_rc4_hmac_md5_hw.c -SRCS+= cipher_seed.c cipher_seed_hw.c SRCS+= cipher_tdes.c cipher_tdes_common.c cipher_tdes_hw.c SRCS+= cipher_tdes_default.c cipher_tdes_default_hw.c \ cipher_tdes_wrap.c cipher_tdes_wrap_hw.c # providers/implementations/digests SRCS+= digestcommon.c SRCS+= blake2_prov.c blake2b_prov.c blake2s_prov.c -SRCS+= md4_prov.c SRCS+= md5_prov.c md5_sha1_prov.c SRCS+= null_prov.c SRCS+= ripemd_prov.c SRCS+= sha2_prov.c sha3_prov.c -SRCS+= wp_prov.c # providers/implementations/encode_decode SRCS+= decode_der2key.c decode_epki2pki.c decode_msblob2key.c decode_pvk2key.c SRCS+= decode_pem2der.c decode_spki2typespki.c SRCS+= encode_key2any.c encode_key2blob.c encode_key2ms.c encode_key2text.c SRCS+= endecoder_common.c SRCS+= ml_dsa_codecs.c ml_kem_codecs.c ml_common_codecs.c # providers/implementations/exchange SRCS+= dh_exch.c SRCS+= ecx_exch.c ecdh_exch.c SRCS+= kdf_exch.c # providers/implementations/kdfs SRCS+= argon2.c hkdf.c hmacdrbg_kdf.c kbkdf.c krb5kdf.c -SRCS+= pbkdf1.c pbkdf2.c pbkdf2_fips.c -SRCS+= pkcs12kdf.c pvkkdf.c scrypt.c sskdf.c sshkdf.c tls1_prf.c x942kdf.c +SRCS+= pbkdf2.c pbkdf2_fips.c +SRCS+= pkcs12kdf.c scrypt.c sskdf.c sshkdf.c tls1_prf.c x942kdf.c # providers/implementations/kem SRCS+= ec_kem.c ecx_kem.c kem_util.c ml_kem_kem.c mlx_kem.c rsa_kem.c # providers/implementations/keymgmt SRCS+= dh_kmgmt.c dsa_kmgmt.c ec_kmgmt.c ecx_kmgmt.c kdf_legacy_kmgmt.c SRCS+= mac_legacy_kmgmt.c ml_dsa_kmgmt.c ml_kem_kmgmt.c mlx_kmgmt.c rsa_kmgmt.c SRCS+= slh_dsa_kmgmt.c # providers/implementations/macs SRCS+= gmac_prov.c hmac_prov.c kmac_prov.c SRCS+= blake2b_mac.c blake2s_mac.c SRCS+= cmac_prov.c SRCS+= poly1305_prov.c SRCS+= siphash_prov.c # providers/implementations/rands SRCS+= drbg.c drbg_ctr.c drbg_hash.c drbg_hmac.c test_rng.c SRCS+= seed_src.c +SRCS+= seed_src_jitter.c # providers/implementations/rands/seeding SRCS+= rand_cpu_x86.c rand_tsc.c rand_unix.c rand_win.c # providers/implementations/signature SRCS+= dsa_sig.c eddsa_sig.c ecdsa_sig.c mac_legacy_sig.c ml_dsa_sig.c SRCS+= rsa_sig.c slh_dsa_sig.c # providers/implementations/skeymgmt SRCS+= aes_skmgmt.c generic.c # providers/implementations/storemgmt SRCS+= file_store.c file_store_any2obj.c # rand -SRCS+= prov_seed.c rand_deprecated.c rand_egd.c rand_err.c rand_lib.c +SRCS+= prov_seed.c rand_deprecated.c rand_err.c rand_lib.c SRCS+= rand_meth.c rand_pool.c rand_uniform.c randfile.c # rc2 SRCS+= rc2_cbc.c rc2_ecb.c rc2_skey.c rc2cfb64.c rc2ofb64.c # rc4 .if defined(ASM_amd64) SRCS+= rc4-md5-x86_64.S rc4-x86_64.S .elif defined(ASM_i386) SRCS+= rc4-586.S .else SRCS+= rc4_enc.c rc4_skey.c .endif # record/methods SRCS+= ssl3_cbc.c SRCS+= tls_pad.c # ripemd SRCS+= rmd_dgst.c rmd_one.c .if defined(ASM_i386) SRCS+= rmd-586.S .endif # rsa SRCS+= rsa_ameth.c rsa_asn1.c rsa_backend.c rsa_chk.c rsa_crpt.c rsa_depr.c SRCS+= rsa_err.c rsa_gen.c rsa_lib.c rsa_meth.c rsa_mp.c rsa_mp_names.c SRCS+= rsa_none.c rsa_oaep.c rsa_ossl.c rsa_pk1.c rsa_pmeth.c rsa_prn.c SRCS+= rsa_pss.c rsa_saos.c rsa_schemes.c rsa_sign.c rsa_sp800_56b_check.c SRCS+= rsa_sp800_56b_gen.c rsa_x931.c rsa_x931g.c # seed SRCS+= seed.c seed_cbc.c seed_cfb.c seed_ecb.c seed_ofb.c # sha SRCS+= sha1_one.c sha1dgst.c sha256.c sha3.c sha512.c .if defined(ASM_aarch64) SRCS+= keccak1600-armv8.S sha1-armv8.S sha256-armv8.S sha512-armv8.S .elif defined(ASM_amd64) SRCS+= keccak1600-x86_64.S sha1-mb-x86_64.S sha1-x86_64.S SRCS+= sha256-mb-x86_64.S sha256-x86_64.S sha512-x86_64.S .elif defined(ASM_arm) SRCS+= keccak1600-armv4.S sha1-armv4-large.S sha256-armv4.S sha512-armv4.S .elif defined(ASM_i386) SRCS+= keccak1600.c sha1-586.S sha256-586.S sha512-586.S .elif defined(ASM_powerpc) SRCS+= keccak1600.c sha_ppc.c sha1-ppc.S sha256-ppc.S sha512-ppc.S sha256p8-ppc.S sha512p8-ppc.S .elif defined(ASM_powerpc64) SRCS+= keccak1600-ppc64.S sha_ppc.c sha1-ppc.S sha256-ppc.S sha512-ppc.S sha256p8-ppc.S sha512p8-ppc.S .elif defined(ASM_powerpc64le) SRCS+= keccak1600-ppc64.S sha_ppc.c sha1-ppc.S sha256-ppc.S sha512-ppc.S sha256p8-ppc.S sha512p8-ppc.S .else SRCS+= keccak1600.c .endif # siphash SRCS+= siphash.c # slh_dsa SRCS+= slh_adrs.c slh_dsa.c slh_dsa_hash_ctx.c slh_dsa_key.c slh_fors.c slh_hash.c SRCS+= slh_hypertree.c slh_params.c slh_wots.c slh_xmss.c # srp SRCS+= srp_lib.c srp_vfy.c # stack SRCS+= stack.c # store SRCS+= store_err.c store_init.c store_lib.c store_meth.c store_register.c SRCS+= store_result.c store_strings.c # thread -SRCS+= api.c arch.c arch/thread_win.c arch/thread_posix.c arch/thread_none.c internal.c +SRCS+= api.c arch.c internal.c +SRCS+= thread_none.c +SRCS+= thread_posix.c +SRCS+= thread_win.c # ts SRCS+= ts_asn1.c ts_conf.c ts_err.c ts_lib.c ts_req_print.c ts_req_utils.c SRCS+= ts_rsp_print.c ts_rsp_sign.c ts_rsp_utils.c ts_rsp_verify.c SRCS+= ts_verify_ctx.c # txt_db SRCS+= txt_db.c # ui SRCS+= ui_err.c ui_lib.c ui_null.c ui_openssl.c ui_util.c # whrlpool SRCS+= wp_dgst.c .if defined(ASM_amd64) SRCS+= wp-x86_64.S .elif defined(ASM_i386) SRCS+= wp-mmx.S wp_block.c .else SRCS+= wp_block.c .endif # x509 SRCS+= x509_def.c x509_d2.c x509_r2x.c x509_cmp.c SRCS+= x509_obj.c x509_req.c x509spki.c x509_vfy.c SRCS+= x509_set.c x509cset.c x509rset.c x509_err.c SRCS+= x509name.c x509_v3.c x509_ext.c x509_att.c SRCS+= x509_meth.c x509_lu.c x_all.c x509_txt.c SRCS+= x509_trust.c by_file.c by_dir.c by_store.c x509_vpm.c SRCS+= x_crl.c t_crl.c x_req.c t_req.c x_x509.c t_x509.c SRCS+= x_pubkey.c x_x509a.c x_attrib.c x_exten.c x_name.c SRCS+= v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_utf8.c v3_lib.c SRCS+= v3_prn.c v3_utl.c v3err.c v3_genn.c v3_san.c v3_skid.c v3_akid.c SRCS+= v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c SRCS+= v3_info.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c SRCS+= v3_pcia.c v3_pci.c v3_ist.c SRCS+= pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c SRCS+= v3_asid.c v3_addr.c v3_tlsf.c v3_admis.c v3_no_rev_avail.c SRCS+= v3_soa_id.c v3_no_ass.c v3_group_ac.c v3_single_use.c v3_ind_iss.c SRCS+= x509_acert.c x509aset.c t_acert.c x_ietfatt.c v3_ac_tgt.c v3_sda.c SRCS+= v3_usernotice.c v3_battcons.c v3_audit_id.c v3_iobo.c v3_authattid.c SRCS+= v3_rolespec.c v3_attrdesc.c v3_timespec.c v3_attrmap.c v3_aaa.c SRCS+= x509type.c INCS= aes.h asn1.h asn1err.h asn1t.h async.h asyncerr.h bio.h INCS+= bioerr.h blowfish.h bn.h bnerr.h buffer.h buffererr.h byteorder.h camellia.h -INCS+= cast.h cmac.h cmp.h cmp_util.h cmperr.h cms.h cmserr.h comp.h comperr.h conf.h conf_api.h +INCS+= cast.h cmac.h cmp.h cmp_util.h cmperr.h cms.h cmserr.h comp.h comperr.h conf.h INCS+= conferr.h configuration.h conftypes.h core.h core_dispatch.h core_names.h core_object.h INCS+= crmf.h crmferr.h crypto.h cryptoerr.h cryptoerr_legacy.h ct.h cterr.h -INCS+= decoder.h decodererr.h des.h dh.h dherr.h dsa.h -INCS+= dsaerr.h dtls1.h e_os2.h e_ostime.h ebcdic.h ec.h ecdh.h ecdsa.h ecerr.h encoder.h encodererr.h +INCS+= decoder.h decodererr.h +INCS+= der_digests.h +INCS+= der_dsa.h +INCS+= der_ec.h +INCS+= der_ecx.h +INCS+= der_ml_dsa.h +INCS+= der_rsa.h +INCS+= der_slh_dsa.h +INCS+= der_wrap.h +INCS+= des.h dh.h dherr.h dsa.h +INCS+= dsaerr.h +INCS+= dtls1.h e_os2.h e_ostime.h ebcdic.h ec.h ecdh.h ecdsa.h ecerr.h encoder.h encodererr.h INCS+= engine.h engineerr.h err.h ess.h esserr.h evp.h evperr.h fips_names.h fipskey.h hmac.h hpke.h http.h httperr.h idea.h indicator.h INCS+= kdf.h kdferr.h lhash.h macros.h md2.h md4.h md5.h mdc2.h modes.h obj_mac.h INCS+= objects.h objectserr.h ocsp.h ocsperr.h opensslconf.h opensslv.h INCS+= ossl_typ.h param_build.h params.h pem.h pem2.h pemerr.h pkcs12.h pkcs12err.h pkcs7.h INCS+= pkcs7err.h prov_ssl.h proverr.h provider.h quic.h rand.h randerr.h rc2.h rc4.h rc5.h ripemd.h INCS+= rsa.h rsaerr.h safestack.h seed.h self_test.h sha.h srp.h srtp.h ssl.h ssl2.h INCS+= ssl3.h sslerr.h sslerr_legacy.h stack.h store.h storeerr.h symhacks.h thread.h tls1.h trace.h ts.h INCS+= tserr.h txt_db.h types.h ui.h uierr.h whrlpool.h x509.h x509_vfy.h x509err.h INCS+= x509v3.h x509v3err.h INCSDIR=${INCLUDEDIR}/openssl LIBADD= pthread SRCS+= buildinf.h CLEANDIRS= openssl CLEANFILES= buildinf.h .if defined(ASM_${MACHINE_CPUARCH}) || defined(ASM_${MACHINE_ARCH}) _cmd1=/%%NO_ASM%%/d .else _cmd1=s/%%NO_ASM%%// .endif .if ${MK_OPENSSL_KTLS} != "no" && !defined(BOOTSTRAPPING) _cmd2=/%%NO_KTLS%%/d .else _cmd2=s/%%NO_KTLS%%// CFLAGS+= -DOPENSSL_NO_KTLS .endif buildinf.h: Makefile ( echo "/*"; \ echo " * WARNING: do not edit!"; \ echo " * Generated by ${.ALLSRC}"; \ echo " */"; \ echo "#define PLATFORM \"platform: FreeBSD-${MACHINE_ARCH}\""; \ echo "#define DATE \"built on: reproducible build, date unspecified\""; \ echo "static const char compiler_flags[] = \"compiler: ${COMPILER_TYPE}\";" ) \ > ${.TARGET} buildasm cleanasm: .for arch in aarch64 amd64 arm i386 powerpc powerpc64 powerpc64le make MK_AUTO_OBJ=no -DWITHOUT_AUTO_ASM -DASM_${arch} \ -f ${.CURDIR}/Makefile.asm -C ${SRCTOP}/sys/crypto/openssl/${arch} \ ${.TARGET:S/build/all/:S/asm$//} .endfor .include .if ${MACHINE} == "powerpc" # Work around "relocation R_PPC_GOT16 out of range" errors PICFLAG= -fPIC .endif PICFLAG+= -DOPENSSL_PIC .if defined(ASM_${MACHINE_CPUARCH}) .PATH: ${SRCTOP}/sys/crypto/openssl/${MACHINE_CPUARCH} .if defined(ASM_amd64) .PATH: ${LCRYPTO_SRC}/crypto/bn/asm .endif .elif defined(ASM_${MACHINE_ARCH}) .PATH: ${SRCTOP}/sys/crypto/openssl/${MACHINE_ARCH} .endif .PATH: ${LCRYPTO_SRC}/include/openssl \ ${LCRYPTO_SRC}/crypto \ ${LCRYPTO_SRC}/crypto/aes \ ${LCRYPTO_SRC}/crypto/aria \ ${LCRYPTO_SRC}/crypto/asn1 \ ${LCRYPTO_SRC}/crypto/async \ ${LCRYPTO_SRC}/crypto/async/arch \ ${LCRYPTO_SRC}/crypto/bf \ ${LCRYPTO_SRC}/crypto/bio \ ${LCRYPTO_SRC}/crypto/bn \ ${LCRYPTO_SRC}/crypto/buffer \ ${LCRYPTO_SRC}/crypto/camellia \ ${LCRYPTO_SRC}/crypto/cast \ ${LCRYPTO_SRC}/crypto/chacha \ ${LCRYPTO_SRC}/crypto/cmac \ ${LCRYPTO_SRC}/crypto/cmp \ ${LCRYPTO_SRC}/crypto/cms \ ${LCRYPTO_SRC}/crypto/comp \ ${LCRYPTO_SRC}/crypto/conf \ ${LCRYPTO_SRC}/crypto/crmf \ ${LCRYPTO_SRC}/crypto/ct \ ${LCRYPTO_SRC}/crypto/des \ ${LCRYPTO_SRC}/crypto/dh \ ${LCRYPTO_SRC}/crypto/dsa \ ${LCRYPTO_SRC}/crypto/dso \ ${LCRYPTO_SRC}/crypto/ec \ ${LCRYPTO_SRC}/crypto/ec/curve448 \ ${LCRYPTO_SRC}/crypto/ec/curve448/arch_32 \ ${LCRYPTO_SRC}/crypto/ec/curve448/arch_64 \ ${LCRYPTO_SRC}/crypto/encode_decode \ ${LCRYPTO_SRC}/crypto/engine \ ${LCRYPTO_SRC}/crypto/err \ ${LCRYPTO_SRC}/crypto/ess \ ${LCRYPTO_SRC}/crypto/evp \ ${LCRYPTO_SRC}/crypto/ffc \ ${LCRYPTO_SRC}/crypto/hashtable \ ${LCRYPTO_SRC}/crypto/hmac \ ${LCRYPTO_SRC}/crypto/hpke \ ${LCRYPTO_SRC}/crypto/http \ ${LCRYPTO_SRC}/crypto/idea \ ${LCRYPTO_SRC}/crypto/kdf \ ${LCRYPTO_SRC}/crypto/lhash \ ${LCRYPTO_SRC}/crypto/md4 \ ${LCRYPTO_SRC}/crypto/md5 \ ${LCRYPTO_SRC}/crypto/mdc2 \ ${LCRYPTO_SRC}/crypto/ml_dsa \ ${LCRYPTO_SRC}/crypto/ml_kem \ ${LCRYPTO_SRC}/crypto/modes \ ${LCRYPTO_SRC}/crypto/objects \ ${LCRYPTO_SRC}/crypto/ocsp \ ${LCRYPTO_SRC}/crypto/pem \ ${LCRYPTO_SRC}/crypto/pkcs12 \ ${LCRYPTO_SRC}/crypto/pkcs7 \ ${LCRYPTO_SRC}/crypto/poly1305 \ ${LCRYPTO_SRC}/crypto/property \ ${LCRYPTO_SRC}/crypto/rand \ ${LCRYPTO_SRC}/crypto/rc2 \ ${LCRYPTO_SRC}/crypto/rc4 \ ${LCRYPTO_SRC}/crypto/rc5 \ ${LCRYPTO_SRC}/crypto/ripemd \ ${LCRYPTO_SRC}/crypto/rsa \ ${LCRYPTO_SRC}/crypto/seed \ ${LCRYPTO_SRC}/crypto/sha \ ${LCRYPTO_SRC}/crypto/siphash \ ${LCRYPTO_SRC}/crypto/slh_dsa \ ${LCRYPTO_SRC}/crypto/sm2 \ ${LCRYPTO_SRC}/crypto/sm3 \ ${LCRYPTO_SRC}/crypto/sm4 \ ${LCRYPTO_SRC}/crypto/srp \ ${LCRYPTO_SRC}/crypto/stack \ ${LCRYPTO_SRC}/crypto/store \ ${LCRYPTO_SRC}/crypto/thread \ + ${LCRYPTO_SRC}/crypto/thread/arch \ ${LCRYPTO_SRC}/crypto/ts \ ${LCRYPTO_SRC}/crypto/txt_db \ ${LCRYPTO_SRC}/crypto/ui \ ${LCRYPTO_SRC}/crypto/whrlpool \ ${LCRYPTO_SRC}/crypto/x509 \ ${LCRYPTO_SRC}/crypto/x509v3 \ ${LCRYPTO_SRC}/providers \ ${LCRYPTO_SRC}/providers/common \ ${LCRYPTO_SRC}/providers/common/der \ + ${LCRYPTO_SRC}/providers/common/include/prov \ ${LCRYPTO_SRC}/providers/implementations/asymciphers \ ${LCRYPTO_SRC}/providers/implementations/ciphers \ ${LCRYPTO_SRC}/providers/implementations/digests \ ${LCRYPTO_SRC}/providers/implementations/encode_decode \ ${LCRYPTO_SRC}/providers/implementations/exchange \ ${LCRYPTO_SRC}/providers/implementations/kdfs \ ${LCRYPTO_SRC}/providers/implementations/kem \ ${LCRYPTO_SRC}/providers/implementations/keymgmt \ ${LCRYPTO_SRC}/providers/implementations/macs \ ${LCRYPTO_SRC}/providers/implementations/rands \ ${LCRYPTO_SRC}/providers/implementations/rands/seeding \ ${LCRYPTO_SRC}/providers/implementations/signature \ ${LCRYPTO_SRC}/providers/implementations/skeymgmt \ ${LCRYPTO_SRC}/providers/implementations/storemgmt \ ${LCRYPTO_SRC}/ssl \ ${LCRYPTO_SRC}/ssl/record \ - ${LCRYPTO_SRC}/ssl/record/methods + ${LCRYPTO_SRC}/ssl/record/methods \ diff --git a/secure/lib/libcrypto/modules/Makefile.inc b/secure/lib/libcrypto/modules/Makefile.inc index 4b3d9fc512ce..64fb57ee74c5 100644 --- a/secure/lib/libcrypto/modules/Makefile.inc +++ b/secure/lib/libcrypto/modules/Makefile.inc @@ -1,20 +1,13 @@ PACKAGE?= openssl LIB_PACKAGE= SHLIBDIR= ${LIBDIR}/ossl-modules LCRYPTO_SRC= ${SRCTOP}/crypto/openssl CFLAGS+= -I${LCRYPTO_SRC} CFLAGS+= -I${LCRYPTO_SRC}/include CFLAGS+= -I${LCRYPTO_SRC}/providers/common/include CFLAGS+= -I${LCRYPTO_SRC}/providers/fips/include CFLAGS+= -I${LCRYPTO_SRC}/providers/implementations/include -# common -SRCS+= provider_err.c provider_ctx.c -SRCS+= provider_util.c - -.PATH: ${LCRYPTO_SRC}/providers \ - ${LCRYPTO_SRC}/providers/common - WARNS?= 0 diff --git a/secure/lib/libcrypto/modules/legacy/Makefile b/secure/lib/libcrypto/modules/legacy/Makefile index db05f212f62a..8f91d9504504 100644 --- a/secure/lib/libcrypto/modules/legacy/Makefile +++ b/secure/lib/libcrypto/modules/legacy/Makefile @@ -1,32 +1,63 @@ SHLIB_NAME?= legacy.so LIBADD= crypto -SRCS+= legacyprov.c prov_running.c params_idx.c +SRCS+= legacyprov.c prov_running.c # ciphers SRCS+= ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \ ciphercommon_gcm.c ciphercommon_gcm_hw.c \ ciphercommon_ccm.c ciphercommon_ccm_hw.c SRCS+= cipher_desx.c cipher_desx_hw.c cipher_des.c cipher_des_hw.c SRCS+= cipher_tdes_common.c SRCS+= cipher_blowfish.c cipher_blowfish_hw.c SRCS+= cipher_cast5.c cipher_cast5_hw.c SRCS+= cipher_rc2.c cipher_rc2_hw.c SRCS+= cipher_rc4.c cipher_rc4_hw.c SRCS+= cipher_rc4_hmac_md5.c cipher_rc4_hmac_md5_hw.c SRCS+= cipher_seed.c cipher_seed_hw.c -# digests +# crypto +SRCS+= cpuid.c +SRCS+= ctype.c + +# crypto/des +SRCS+= des_enc.c +SRCS+= fcrypt_b.c + +# crypto/md5 +SRCS+= md5_dgst.c +SRCS+= md5_one.c +SRCS+= md5_sha1.c + +# providers/implementations/digests SRCS+= digestcommon.c SRCS+= md4_prov.c wp_prov.c ripemd_prov.c -# kdfs -SRCS+= pbkdf1.c pvkkdf.c +# providers/implementations/kdfs +SRCS+= pbkdf1.c +SRCS+= pvkkdf.c + +# common +SRCS+= provider_err.c provider_ctx.c +SRCS+= provider_util.c + +SRCS+= tls_pad.c + +# This is needed so the provider can be loaded for us. +# +# There's a discrepancy between how this provider gets built in OpenSSL proper +# and FreeBSD. +SRCS+= params_idx.c .include .PATH: ${LCRYPTO_SRC}/crypto \ + ${LCRYPTO_SRC}/crypto/des \ + ${LCRYPTO_SRC}/crypto/md5 \ + ${LCRYPTO_SRC}/providers \ + ${LCRYPTO_SRC}/providers/common \ ${LCRYPTO_SRC}/providers/implementations/ciphers \ ${LCRYPTO_SRC}/providers/implementations/digests \ ${LCRYPTO_SRC}/providers/implementations/kdfs \ - ${LCRYPTO_SRC}/ssl + ${LCRYPTO_SRC}/ssl \ + ${LCRYPTO_SRC}/ssl/record/methods \ diff --git a/secure/lib/libssl/Makefile b/secure/lib/libssl/Makefile index b0ca31644279..fe2e2492045f 100644 --- a/secure/lib/libssl/Makefile +++ b/secure/lib/libssl/Makefile @@ -1,96 +1,96 @@ .include LIB= ssl SHLIB_MAJOR= 35 VERSION_MAP= ${.CURDIR}/Version.map NO_LINT= PCFILES= libssl.pc openssl.pc .include "../libcrypto/Makefile.inc" SRCS= pqueue.c \ statem_srvr.c statem_clnt.c s3_lib.c s3_enc.c \ statem_lib.c extensions.c extensions_srvr.c \ extensions_clnt.c extensions_cust.c s3_msg.c \ methods.c t1_lib.c t1_enc.c tls13_enc.c \ d1_lib.c d1_msg.c \ statem_dtls.c d1_srtp.c \ ssl_lib.c ssl_cert.c ssl_sess.c \ ssl_ciph.c ssl_stat.c ssl_rsa.c \ ssl_asn1.c ssl_txt.c ssl_init.c ssl_conf.c ssl_mcnf.c \ bio_ssl.c ssl_err_legacy.c tls_srp.c t1_trce.c ssl_utst.c \ statem.c \ ssl_cert_comp.c \ tls_depr.c SRCS+= packet.c quic_vlint.c time.c SRCS+= ssl_rsa_legacy.c SRCS+= priority_queue.c SRCS+= hashfunc.c SRCS+= siphash.c # quic SRCS+= quic_method.c quic_impl.c quic_wire.c quic_ackm.c quic_statm.c SRCS+= cc_newreno.c quic_demux.c quic_record_rx.c SRCS+= quic_record_tx.c quic_record_util.c quic_record_shared.c quic_wire_pkt.c SRCS+= quic_rx_depack.c SRCS+= quic_fc.c uint_set.c SRCS+= quic_cfq.c quic_txpim.c quic_fifd.c quic_txp.c SRCS+= quic_stream_map.c SRCS+= quic_sf_list.c quic_rstream.c quic_sstream.c SRCS+= quic_reactor.c SRCS+= quic_reactor_wait_ctx.c SRCS+= quic_channel.c quic_port.c quic_engine.c SRCS+= quic_tserver.c SRCS+= quic_thread_assist.c SRCS+= quic_trace.c SRCS+= quic_srtm.c quic_srt_gen.c SRCS+= quic_lcidm.c quic_rcidm.c SRCS+= quic_tls.c quic_tls_api.c SRCS+= quic_types.c SRCS+= qlog_event_helpers.c SRCS+= json_enc.c qlog.c SRCS+= getenv.c ctype.c SRCS+= quic_obj.c # record SRCS+= rec_layer_d1.c rec_layer_s3.c # record/methods SRCS+= tls_common.c ssl3_meth.c tls1_meth.c tls13_meth.c tlsany_meth.c SRCS+= dtls_meth.c tls_multib.c SRSC+= ssl3_cbc.c SRSC+= tls_pad.c # rio SRCS+= poll_immediate.c SRCS+= rio_notifier.c poll_builder.c .if ${MK_OPENSSL_KTLS} == "no" || defined(BOOTSTRAPPING) CFLAGS+=-DOPENSSL_NO_KTLS .else SRCS+= ktls_meth.c .endif -LIBADD= crypto +LIBADD= pthread crypto CFLAGS+= -I${LCRYPTO_SRC}/ssl CFLAGS+= -I${.OBJDIR:H}/libcrypto .include PICFLAG+= -DOPENSSL_PIC .PATH: ${LCRYPTO_SRC}/crypto \ ${LCRYPTO_SRC}/crypto/hashtable \ ${LCRYPTO_SRC}/crypto/siphash \ ${LCRYPTO_SRC}/ssl \ ${LCRYPTO_SRC}/ssl/quic \ ${LCRYPTO_SRC}/ssl/record \ ${LCRYPTO_SRC}/ssl/record/methods \ ${LCRYPTO_SRC}/ssl/rio \ ${LCRYPTO_SRC}/ssl/statem diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index d6597caf7e2a..95cd3b02d8e4 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -1,931 +1,931 @@ # # The include file define library names suitable # for INTERNALLIB and PRIVATELIB definition .if !target(____) .error src.libnames.mk cannot be included directly. .endif .if !target(____) ____: .NOTMAIN .include _PRIVATELIBS= \ atf_c \ atf_cxx \ auditd \ bsddialog \ bsdstat \ cbor \ devdctl \ event1 \ fido2 \ gmock \ gtest \ gmock_main \ gtest_main \ heimipcc \ heimipcs \ kldelf \ ldns \ samplerate \ sqlite3 \ ssh \ ucl \ unbound \ yaml \ zstd # Let projects based on FreeBSD append to _PRIVATELIBS # by maintaining their own LOCAL_PRIVATELIBS list. _PRIVATELIBS+= ${LOCAL_PRIVATELIBS} _INTERNALLIBS= \ amu \ apputils \ bsnmptools \ c_nossp_pic \ cron \ der \ diff \ elftc \ fdt \ fifolog \ ifconfig \ ipf \ iscsiutil \ kadmin_common \ kprop_util \ krb5apputils \ krb5ss \ lpr \ lua \ lutok \ netbsd \ ntp \ ntpevent \ nvmf \ openbsd \ opts \ parse \ pe \ pfctl \ pkgecc \ pmcstat \ sl \ sm \ smdb \ smutil \ telnet \ util++ \ vers \ wpaap \ wpacommon \ wpacrypto \ wpadrivers \ wpaeap_common \ wpaeap_peer \ wpaeap_server \ wpaeapol_auth \ wpaeapol_supp \ wpal2_packet \ wpapasn \ wparadius \ wparsn_supp \ wpatls \ wpautils \ wpawps # Let projects based on FreeBSD append to _INTERNALLIBS # by maintaining their own LOCAL_INTERNALLIBS list. _INTERNALLIBS+= ${LOCAL_INTERNALLIBS} _LIBRARIES= \ ${_PRIVATELIBS} \ ${_INTERNALLIBS} \ ${LOCAL_LIBRARIES} \ 80211 \ 9p \ alias \ archive \ asn1 \ avl \ BlocksRuntime \ be \ begemot \ bluetooth \ bsdxml \ bsm \ bsnmp \ bz2 \ c \ c_pic \ calendar \ cam \ casper \ cap_dns \ cap_fileargs \ cap_grp \ cap_net \ cap_netdb \ cap_pwd \ cap_sysctl \ cap_syslog \ com_err \ compiler_rt \ crypt \ crypto \ ctf \ cuse \ cxxrt \ devctl \ devdctl \ devinfo \ devstat \ dialog \ dl \ dpv \ dtrace \ dwarf \ edit \ efivar \ elf \ execinfo \ fetch \ figpar \ formw \ geom \ gpio \ gssapi \ gssapi_krb5 \ gssrpc \ hdb \ heimbase \ heimntlm \ heimsqlite \ hx509 \ icp \ ipsec \ ipt \ jail \ k5crypto \ kadm5 \ kadmin_common \ kafs5 \ kdb5 \ kdc \ kiconv \ krad \ krb5 \ krb5profile \ krb5support \ kvm \ l \ lzma \ m \ magic \ md \ memstat \ mp \ mt \ ncursesw \ netgraph \ netmap \ ngatm \ nv \ nvpair \ opencsd \ pam \ panel \ panelw \ pcap \ pcsclite \ pjdlog \ pmc \ proc \ procstat \ pthread \ radius \ regex \ roken \ rpcsec_gss \ rpcsvc \ rt \ rtld_db \ sbuf \ sdp \ sm \ smb \ spl \ ssl \ ssp_nonshared \ stats \ stdthreads \ supcplusplus \ sys \ sysdecode \ tacplus \ termcapw \ tinfow \ tpool \ ufs \ ugidfw \ ulog \ umem \ usb \ usbhid \ util \ uutil \ verto \ vmmapi \ wind \ wrap \ xo \ y \ ypclnt \ z \ zdb \ zfs_core \ zfs \ zfsbootenv \ zpool \ zutil .if ${MK_KERBEROS} != "no" && ${MK_MITKRB5} != "no" _LIBRARIES+= \ kadm5clnt_mit \ kadm5srv_mit .else _LIBRARIES+= \ kadm5clnt \ kadm5srv .endif .if ${MK_BLACKLIST} != "no" _LIBRARIES+= \ blacklist \ .endif .if ${MK_OFED} != "no" _LIBRARIES+= \ cxgb4 \ ibcm \ ibmad \ ibnetdisc \ ibumad \ ibverbs \ irdma \ mlx4 \ mlx5 \ rdmacm \ osmcomp \ opensm \ osmvendor .endif .if ${MK_BEARSSL} == "yes" _LIBRARIES+= \ bearssl \ secureboot \ LIBBEARSSL?= ${LIBBEARSSLDIR}/libbearssl.a LIBSECUREBOOT?= ${LIBSECUREBOOTDIR}/libsecureboot.a .endif .if ${MK_VERIEXEC} == "yes" _LIBRARIES+= veriexec LIBVERIEXEC?= ${LIBVERIEXECDIR}/libveriexec.a .endif # Each library's LIBADD needs to be duplicated here for static linkage of # 2nd+ order consumers. Auto-generating this would be better. _DP_80211= sbuf bsdxml _DP_9p= sbuf .if ${MK_CASPER} != "no" _DP_9p+= casper cap_pwd cap_grp .endif # XXX: Not bootstrapped so uses host version on non-FreeBSD, so don't use a # FreeBSD-specific dependency list .if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) _DP_archive= z bz2 lzma bsdxml zstd .endif _DP_avl= spl _DP_bsddialog= ncursesw tinfow _DP_zstd= pthread .if ${MK_BLACKLIST} != "no" _DP_blacklist+= pthread .endif _DP_crypto= pthread # See comment by _DP_archive above .if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) .if ${MK_OPENSSL} != "no" _DP_archive+= crypto .else _DP_archive+= md .endif .endif _DP_sqlite3= pthread -_DP_ssl= crypto +_DP_ssl= pthread crypto _DP_ssh= crypto crypt z .if ${MK_LDNS} != "no" _DP_ssh+= ldns .endif _DP_edit= tinfow .if ${MK_OPENSSL} != "no" _DP_bsnmp= crypto .endif _DP_geom= bsdxml sbuf _DP_cam= sbuf _DP_kldelf= elf _DP_kvm= elf _DP_casper= nv _DP_cap_dns= nv _DP_cap_fileargs= nv _DP_cap_grp= nv _DP_cap_pwd= nv _DP_cap_sysctl= nv _DP_cap_syslog= nv _DP_crypt= md .if ${MK_OFED} != "no" _DP_pcap= ibverbs mlx5 .endif _DP_pjdlog= util _DP_usb= pthread _DP_unbound= ssl crypto pthread _DP_rt= pthread .if ${MK_OPENSSL} == "no" _DP_radius= md .else _DP_radius= crypto .endif _DP_rtld_db= elf procstat _DP_procstat= kvm util elf _DP_proc= cxxrt .if ${MK_CDDL} != "no" _DP_proc+= ctf .endif _DP_proc+= elf procstat rtld_db util z _DP_mp= crypto _DP_memstat= kvm _DP_magic= z _DP_mt= sbuf bsdxml _DP_nvmf= nv _DP_ldns= ssl crypto _DP_lua= m _DP_lutok= lua .if ${MK_OPENSSL} != "no" _DP_fetch= ssl crypto .else _DP_fetch= md .endif _DP_execinfo= elf _DP_dwarf= elf z _DP_dpv= dialog figpar util tinfow ncursesw _DP_dialog= tinfow ncursesw m _DP_cuse= pthread _DP_atf_cxx= atf_c _DP_gtest= pthread regex _DP_gmock= gtest _DP_gmock_main= gmock _DP_gtest_main= gtest _DP_devstat= kvm _DP_pam= radius tacplus md util .if ${MK_KERBEROS} != "no" && ${MK_MITKRB5} != "no" _DP_pam+= krb5 .endif .if ${MK_OPENSSH} != "no" _DP_fido2+= crypto z _DP_pam+= ssh .endif .if ${MK_NIS} != "no" _DP_pam+= ypclnt .endif .if ${MK_KERBEROS} != "no" .if ${MK_MITKRB5} != "no" # _DP_krb5support= no dependencies except for libc # _DP_verto= no dependencies except for libc # _DP_apputils= no dependencies except for libc _DP_com_err= krb5support _DP_k5crypto= com_err krb5support crypto _DP_krb5profile= com_err krb5support _DP_gssapi_krb5= krb5 k5crypto com_err krb5profile krb5support _DP_kadm5clnt_mit= gssrpc gssapi_krb5 krb5 k5crypto krb5support com_err krb5profile _DP_kadm5srv_mit= krb5profile gssrpc gssapi_krb5 kdb5 krb5 k5crypto krb5support com_err _DP_kdb5= gssrpc krb5 k5crypto com_err krb5support gssapi_krb5 krb5profile _DP_krad= krb5 k5crypto com_err krb5profile krb5support verto _DP_krb5= krb5profile k5crypto com_err krb5support _DP_gssrpc= gssapi_krb5 krb5 k5crypto com_err krb5support .else _DP_roken= crypt _DP_kadm5clnt= com_err krb5 roken _DP_kadm5srv= com_err hdb krb5 roken _DP_heimntlm= crypto com_err krb5 roken _DP_hx509= asn1 com_err crypto roken wind _DP_hdb= asn1 com_err krb5 roken sqlite3 _DP_asn1= com_err roken _DP_kdc= roken hdb hx509 krb5 heimntlm asn1 crypto _DP_wind= com_err roken _DP_heimbase= pthread _DP_heimipcc= heimbase roken pthread _DP_heimipcs= heimbase roken pthread _DP_kafs5= asn1 krb5 roken _DP_krb5= asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc _DP_gssapi_krb5= gssapi krb5 crypto roken asn1 com_err .endif .endif _DP_lzma= md pthread _DP_ucl= m _DP_vmmapi= util _DP_opencsd= cxxrt _DP_ctf= spl z _DP_dtrace= ctf elf proc pthread rtld_db xo _DP_xo= util _DP_ztest= geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp # The libc dependencies are not strictly needed but are defined to make the # assert happy. _DP_c= compiler_rt sys # Use libssp_nonshared only on i386 and power*. Other archs emit direct calls # to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared. .if ${MK_SSP} != "no" && \ (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "") _DP_c+= ssp_nonshared .endif _DP_stats= sbuf pthread _DP_stdthreads= pthread _DP_sys= compiler_rt # Use libssp_nonshared only on i386 and power*. Other archs emit direct calls # to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared. .if ${MK_SSP} != "no" && \ (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "") _DP_sys+= ssp_nonshared .endif .if !defined(BOOTSTRAPPING) _DP_thr= c sys _DP_pthread= ${_DP_thr} .endif _DP_tacplus= md pam _DP_ncursesw= tinfow _DP_formw= ncursesw _DP_nvpair= spl _DP_panelw= ncursesw .if ${MK_MITKRB5} == "no" _DP_rpcsec_gss= gssapi .else _DP_rpcsec_gss= gssapi_krb5 .endif _DP_smb= kiconv _DP_ulog= md _DP_fifolog= z _DP_ipf= kvm _DP_tpool= spl _DP_uutil= avl spl _DP_zfs= md pthread rt umem util uutil m avl bsdxml crypto geom nvpair \ z zfs_core zutil _DP_zfsbootenv= zfs nvpair _DP_zfs_core= nvpair spl zutil _DP_zpool= md pthread z icp spl nvpair avl umem _DP_zutil= avl geom m tpool _DP_be= zfs spl nvpair zfsbootenv _DP_netmap= _DP_ifconfig= m _DP_pfctl= nv _DP_krb5ss= edit # OFED support .if ${MK_OFED} != "no" _DP_cxgb4= ibverbs pthread _DP_ibcm= ibverbs _DP_ibmad= ibumad _DP_ibnetdisc= osmcomp ibmad ibumad _DP_ibumad= _DP_ibverbs= _DP_irdma= ibverbs pthread _DP_mlx4= ibverbs pthread _DP_mlx5= ibverbs pthread _DP_rdmacm= ibverbs _DP_osmcomp= pthread _DP_opensm= pthread _DP_osmvendor= ibumad pthread .endif # Define special cases LDADD_supcplusplus= -lsupc++ LIBATF_C= ${LIBDESTDIR}${LIBDIR_BASE}/libprivateatf-c.a LIBATF_CXX= ${LIBDESTDIR}${LIBDIR_BASE}/libprivateatf-c++.a LDADD_atf_c= -lprivateatf-c LDADD_atf_cxx= -lprivateatf-c++ LIBGMOCK= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategmock.a LIBGMOCK_MAIN= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategmock_main.a LIBGTEST= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategtest.a LIBGTEST_MAIN= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategtest_main.a LDADD_gmock= -lprivategmock LDADD_gtest= -lprivategtest LDADD_gmock_main= -lprivategmock_main LDADD_gtest_main= -lprivategtest_main .for _l in ${_PRIVATELIBS} LIB${_l:tu}?= ${LIBDESTDIR}${LIBDIR_BASE}/libprivate${_l}.a .endfor .if ${MK_PIE} != "no" PIE_SUFFIX= _pie .endif .for _l in ${_LIBRARIES} .if ${_INTERNALLIBS:M${_l}} || !defined(SYSROOT) LDADD_${_l}_L+= -L${LIB${_l:tu}DIR} .endif DPADD_${_l}?= ${LIB${_l:tu}} .if ${_PRIVATELIBS:M${_l}} LDADD_${_l}?= ${LDADD_${_l}_L} -lprivate${_l} .elif ${_INTERNALLIBS:M${_l}} LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l:S/${PIE_SUFFIX}//}${PIE_SUFFIX} .else LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l} .endif # Add in all dependencies for static linkage. # Bootstrapping from non-FreeBSD needs special handling, since it overrides # NO_SHARED back to yes despite only building static versions of bootstrap # libraries (see tools/build/mk/Makefile.boot.pre). .if defined(_DP_${_l}) && (${_INTERNALLIBS:M${_l}} || \ (defined(NO_SHARED) && ${NO_SHARED:tl} != "no") || \ (defined(BOOTSTRAPPING) && ${.MAKE.OS} != "FreeBSD")) .for _d in ${_DP_${_l}} DPADD_${_l}+= ${DPADD_${_d}} LDADD_${_l}+= ${LDADD_${_d}} .endfor .endif .endfor # These are special cases where the library is broken and anything that uses # it needs to add more dependencies. Broken usually means that it has a # cyclic dependency and cannot link its own dependencies. This is bad, please # fix the library instead. # Unless the library itself is broken then the proper place to define # dependencies is _DP_* above. # libatf-c++ exposes libatf-c abi hence we need to explicit link to atf_c for # atf_cxx DPADD_atf_cxx+= ${DPADD_atf_c} LDADD_atf_cxx+= ${LDADD_atf_c} DPADD_gmock+= ${DPADD_gtest} LDADD_gmock+= ${LDADD_gtest} DPADD_gmock_main+= ${DPADD_gmock} LDADD_gmock_main+= ${LDADD_gmock} DPADD_gtest_main+= ${DPADD_gtest} LDADD_gtest_main+= ${LDADD_gtest} # Detect LDADD/DPADD that should be LIBADD, before modifying LDADD here. _BADLDADD= .for _l in ${LDADD:M-l*:N-l*/*:C,^-l,,} .if ${_LIBRARIES:M${_l}} && !${_PRIVATELIBS:M${_l}} _BADLDADD+= ${_l} .endif .endfor .if !empty(_BADLDADD) .error ${.CURDIR}: These libraries should be LIBADD+=foo rather than DPADD/LDADD+=-lfoo: ${_BADLDADD} .endif .for _l in ${LIBADD} DPADD+= ${DPADD_${_l}} LDADD+= ${LDADD_${_l}} .endfor _LIB_OBJTOP?= ${OBJTOP} # INTERNALLIB definitions. LIBDIFFDIR= ${_LIB_OBJTOP}/lib/libdiff LIBDIFF?= ${LIBDIFFDIR}/libdiff${PIE_SUFFIX}.a LIBELFTCDIR= ${_LIB_OBJTOP}/lib/libelftc LIBELFTC?= ${LIBELFTCDIR}/libelftc${PIE_SUFFIX}.a LIBFDTDIR= ${_LIB_OBJTOP}/lib/libfdt LIBFDT?= ${LIBFDTDIR}/libfdt${PIE_SUFFIX}.a LIBLUADIR= ${_LIB_OBJTOP}/lib/liblua LIBLUA?= ${LIBLUADIR}/liblua${PIE_SUFFIX}.a LIBLUTOKDIR= ${_LIB_OBJTOP}/lib/liblutok LIBLUTOK?= ${LIBLUTOKDIR}/liblutok${PIE_SUFFIX}.a LIBPEDIR= ${_LIB_OBJTOP}/lib/libpe LIBPE?= ${LIBPEDIR}/libpe${PIE_SUFFIX}.a LIBOPENBSDDIR= ${_LIB_OBJTOP}/lib/libopenbsd LIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd${PIE_SUFFIX}.a LIBSMDIR= ${_LIB_OBJTOP}/lib/libsm LIBSM?= ${LIBSMDIR}/libsm${PIE_SUFFIX}.a LIBSMDBDIR= ${_LIB_OBJTOP}/lib/libsmdb LIBSMDB?= ${LIBSMDBDIR}/libsmdb${PIE_SUFFIX}.a LIBSMUTILDIR= ${_LIB_OBJTOP}/lib/libsmutil LIBSMUTIL?= ${LIBSMUTILDIR}/libsmutil${PIE_SUFFIX}.a LIBSYSDIR= ${_LIB_OBJTOP}/lib/libsys LIBSYS?= ${LIBSYSDIR}/libsys${PIE_SUFFIX}.a LIBNETBSDDIR?= ${_LIB_OBJTOP}/lib/libnetbsd LIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd${PIE_SUFFIX}.a LIBVERSDIR?= ${_LIB_OBJTOP}/kerberos5/lib/libvers LIBVERS?= ${LIBVERSDIR}/libvers${PIE_SUFFIX}.a LIBSLDIR= ${_LIB_OBJTOP}/kerberos5/lib/libsl LIBSL?= ${LIBSLDIR}/libsl${PIE_SUFFIX}.a LIBIFCONFIGDIR= ${_LIB_OBJTOP}/lib/libifconfig LIBIFCONFIG?= ${LIBIFCONFIGDIR}/libifconfig${PIE_SUFFIX}.a LIBIPFDIR= ${_LIB_OBJTOP}/sbin/ipf/libipf LIBIPF?= ${LIBIPFDIR}/libipf${PIE_SUFFIX}.a LIBNVDIR= ${_LIB_OBJTOP}/lib/libnv LIBNV?= ${LIBNVDIR}/libnv${PIE_SUFFIX}.a LIBISCSIUTILDIR= ${_LIB_OBJTOP}/lib/libiscsiutil LIBISCSIUTIL?= ${LIBISCSIUTILDIR}/libiscsiutil${PIE_SUFFIX}.a LIBNVMFDIR= ${_LIB_OBJTOP}/lib/libnvmf LIBNVMF?= ${LIBNVMFDIR}/libnvmf${PIE_SUFFIX}.a LIBTELNETDIR= ${_LIB_OBJTOP}/lib/libtelnet LIBTELNET?= ${LIBTELNETDIR}/libtelnet${PIE_SUFFIX}.a LIBCRONDIR= ${_LIB_OBJTOP}/usr.sbin/cron/lib LIBCRON?= ${LIBCRONDIR}/libcron${PIE_SUFFIX}.a LIBDERDIR= ${_LIB_OBJTOP}/lib/libder LIBDER?= ${LIBDERDIR}/libder${PIE_SUFFIX}.a LIBNTPDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libntp LIBNTP?= ${LIBNTPDIR}/libntp${PIE_SUFFIX}.a LIBNTPEVENTDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libntpevent LIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent${PIE_SUFFIX}.a LIBOPTSDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libopts LIBOPTS?= ${LIBOPTSDIR}/libopts${PIE_SUFFIX}.a LIBPARSEDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libparse LIBPARSE?= ${LIBPARSEDIR}/libparse${PIE_SUFFIX}.a LIBPFCTLDIR= ${_LIB_OBJTOP}/lib/libpfctl LIBPFCTL?= ${LIBPFCTLDIR}/libpfctl${PIE_SUFFIX}.a LIBLPRDIR= ${_LIB_OBJTOP}/usr.sbin/lpr/common_source LIBLPR?= ${LIBLPRDIR}/liblpr${PIE_SUFFIX}.a LIBFIFOLOGDIR= ${_LIB_OBJTOP}/usr.sbin/fifolog/lib LIBFIFOLOG?= ${LIBFIFOLOGDIR}/libfifolog${PIE_SUFFIX}.a LIBBSNMPTOOLSDIR= ${_LIB_OBJTOP}/usr.sbin/bsnmpd/tools/libbsnmptools LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools${PIE_SUFFIX}.a LIBBE?= ${LIBBEDIR}/libbe${PIE_SUFFIX}.a LIBPKGECCDIR= ${_LIB_OBJTOP}/secure/lib/libpkgecc LIBPKGECC?= ${LIBPKGECCDIR}/libpkgecc${PIE_SUFFIX}.a LIBPMCSTATDIR= ${_LIB_OBJTOP}/lib/libpmcstat LIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat${PIE_SUFFIX}.a LIBUTIL++DIR= ${_LIB_OBJTOP}/lib/libutil++ LIBUTIL++?= ${LIBUTIL++DIR}/libutil++${PIE_SUFFIX}.a LIBWPAAPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/ap LIBWPAAP?= ${LIBWPAAPDIR}/libwpaap${PIE_SUFFIX}.a LIBWPACOMMONDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/common LIBWPACOMMON?= ${LIBWPACOMMONDIR}/libwpacommon${PIE_SUFFIX}.a LIBWPACRYPTODIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/crypto LIBWPACRYPTO?= ${LIBWPACRYPTODIR}/libwpacrypto${PIE_SUFFIX}.a LIBWPADRIVERSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/drivers LIBWPADRIVERS?= ${LIBWPADRIVERSDIR}/libwpadrivers${PIE_SUFFIX}.a LIBWPAEAP_COMMONDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_common LIBWPAEAP_COMMON?= ${LIBWPAEAP_COMMONDIR}/libwpaeap_common${PIE_SUFFIX}.a LIBWPAEAP_PEERDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_peer LIBWPAEAP_PEER?= ${LIBWPAEAP_PEERDIR}/libwpaeap_peer${PIE_SUFFIX}.a LIBWPAEAP_SERVERDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_server LIBWPAEAP_SERVER?= ${LIBWPAEAP_SERVERDIR}/libwpaeap_server${PIE_SUFFIX}.a LIBWPAEAPOL_AUTHDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eapol_auth LIBWPAEAPOL_AUTH?= ${LIBWPAEAPOL_AUTHDIR}/libwpaeapol_auth${PIE_SUFFIX}.a LIBWPAEAPOL_SUPPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eapol_supp LIBWPAEAPOL_SUPP?= ${LIBWPAEAPOL_SUPPDIR}/libwpaeapol_supp${PIE_SUFFIX}.a LIBWPAL2_PACKETDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/l2_packet LIBWPAL2_PACKET?= ${LIBWPAL2_PACKETDIR}/libwpal2_packet${PIE_SUFFIX}.a LIBWPAPASNDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/pasn LIBWPAPASN?= ${LIBWPAPASNDIR}/libwpapasn${PIE_SUFFIX}.a LIBWPARADIUSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/radius LIBWPARADIUS?= ${LIBWPARADIUSDIR}/libwparadius${PIE_SUFFIX}.a LIBWPARSN_SUPPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/rsn_supp LIBWPARSN_SUPP?= ${LIBWPARSN_SUPPDIR}/libwparsn_supp${PIE_SUFFIX}.a LIBWPATLSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/tls LIBWPATLS?= ${LIBWPATLSDIR}/libwpatls${PIE_SUFFIX}.a LIBWPAUTILSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/utils LIBWPAUTILS?= ${LIBWPAUTILSDIR}/libwpautils${PIE_SUFFIX}.a LIBWPAWPSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/wps LIBWPAWPS?= ${LIBWPAWPSDIR}/libwpawps${PIE_SUFFIX}.a LIBC_NOSSP_PICDIR= ${_LIB_OBJTOP}/lib/libc LIBC_NOSSP_PIC?= ${LIBC_NOSSP_PICDIR}/libc_nossp_pic.a LIBSYS_PICDIR= ${_LIB_OBJTOP}/lib/libsys LIBSYS_PIC?= ${LIBSYS_PICDIR}/libsys_pic.a LIBSAMPLERATEDIR?= ${_LIB_OBJTOP}/lib/libsamplerate LIBSAMPLERATE?= ${LIBSAMPLERATEDIR}/libsamplerate${PIE_SUFFIX}.a # Define a directory for each library. This is useful for adding -L in when # not using a --sysroot or for meta mode bootstrapping when there is no # Makefile.depend. These are sorted by directory. LIBAVLDIR= ${_LIB_OBJTOP}/cddl/lib/libavl LIBCTFDIR= ${_LIB_OBJTOP}/cddl/lib/libctf LIBDTRACEDIR= ${_LIB_OBJTOP}/cddl/lib/libdtrace LIBICPDIR= ${_LIB_OBJTOP}/cddl/lib/libicp LIBICP?= ${LIBICPDIR}/libicp${PIE_SUFFIX}.a LIBICP_RESCUEDIR= ${_LIB_OBJTOP}/cddl/lib/libicp_rescue LIBICP_RESCUE?= ${LIBICP_RESCUEDIR}/libicp_rescue${PIE_SUFFIX}.a LIBNVPAIRDIR= ${_LIB_OBJTOP}/cddl/lib/libnvpair LIBNVPAIR?= ${LIBNVPAIRDIR}/libnvpair${PIE_SUFFIX}.a LIBUMEMDIR= ${_LIB_OBJTOP}/cddl/lib/libumem LIBUUTILDIR= ${_LIB_OBJTOP}/cddl/lib/libuutil LIBZDBDIR= ${_LIB_OBJTOP}/cddl/lib/libzdb LIBZDB?= ${LIBZDBDIR}/libzdb${PIE_SUFFIX}.a LIBZFSDIR= ${_LIB_OBJTOP}/cddl/lib/libzfs LIBZFS?= ${LIBZFSDIR}/libzfs${PIE_SUFFIX}.a LIBZFS_COREDIR= ${_LIB_OBJTOP}/cddl/lib/libzfs_core LIBZFS_CORE?= ${LIBZFS_COREDIR}/libzfs_core${PIE_SUFFIX}.a LIBZFSBOOTENVDIR= ${_LIB_OBJTOP}/cddl/lib/libzfsbootenv LIBZFSBOOTENV?= ${LIBZFSBOOTENVDIR}/libzfsbootenv${PIE_SUFFIX}.a LIBZPOOLDIR= ${_LIB_OBJTOP}/cddl/lib/libzpool LIBZPOOL?= ${LIBZPOOLDIR}/libzpool${PIE_SUFFIX}.a LIBZUTILDIR= ${_LIB_OBJTOP}/cddl/lib/libzutil LIBZUTIL?= ${LIBZUTILDIR}/libzutil${PIE_SUFFIX}.a LIBTPOOLDIR= ${_LIB_OBJTOP}/cddl/lib/libtpool # OFED support LIBCXGB4DIR= ${_LIB_OBJTOP}/lib/ofed/libcxgb4 LIBIBCMDIR= ${_LIB_OBJTOP}/lib/ofed/libibcm LIBIBMADDIR= ${_LIB_OBJTOP}/lib/ofed/libibmad LIBIBNETDISCDIR=${_LIB_OBJTOP}/lib/ofed/libibnetdisc LIBIBUMADDIR= ${_LIB_OBJTOP}/lib/ofed/libibumad LIBIBVERBSDIR= ${_LIB_OBJTOP}/lib/ofed/libibverbs LIBIRDMADIR= ${_LIB_OBJTOP}/lib/ofed/libirdma LIBMLX4DIR= ${_LIB_OBJTOP}/lib/ofed/libmlx4 LIBMLX5DIR= ${_LIB_OBJTOP}/lib/ofed/libmlx5 LIBRDMACMDIR= ${_LIB_OBJTOP}/lib/ofed/librdmacm LIBOSMCOMPDIR= ${_LIB_OBJTOP}/lib/ofed/complib LIBOPENSMDIR= ${_LIB_OBJTOP}/lib/ofed/libopensm LIBOSMVENDORDIR=${_LIB_OBJTOP}/lib/ofed/libvendor LIBDIALOGDIR= ${_LIB_OBJTOP}/gnu/lib/libdialog LIBSSPDIR= ${_LIB_OBJTOP}/lib/libssp LIBSSP_NONSHAREDDIR= ${_LIB_OBJTOP}/lib/libssp_nonshared .if ${MK_MITKRB5} != "no" LIBAPPUTILSDIR= ${_LIB_OBJTOP}/krb5/lib/apputils LIBAPPUTILS?= ${LIBAPPUTILSDIR}/libapputils${PIE_SUFFIX}.a LIBGSSAPI_KRB5DIR= ${_LIB_OBJTOP}/krb5/lib/gssapi LIBGSSAPI_KRB5?= ${LIBGSSAPI_KRB5DIR}/libgssapi_krb5${PIE_SUFFIX}.a LIBGSSRPCDIR= ${_LIB_OBJTOP}/krb5/lib/rpc LIBGSSRPC?= ${LIBGSSRPCDIR}/libgssrpc${PIE_SUFFIX}.a LIBK5CRYPTODIR= ${_LIB_OBJTOP}/krb5/lib/crypto LIBK5CRYPTO?= ${LIBK5CRYPTODIR}/libk5crypto${PIE_SUFFIX}.a LIBK5GSSRPCDIR= ${_LIB_OBJTOP}/krb5/lib/rpc LIBK5GSSRPC?= ${LIBK5GSSRPCDIR}/libgssrpc${PIE_SUFFIX}.a LIBKADM5CLNT_MITDIR= ${_LIB_OBJTOP}/krb5/lib/kadm5clnt LIBKADM5CLNT_MIT?= ${LIBKADM5CLNT_MITDIR}/libkadm5clnt_mit${PIE_SUFFIX}.a LIBKADM5SRV_MITDIR= ${_LIB_OBJTOP}/krb5/lib/kadm5srv LIBKADM5SRV_MIT?= ${LIBKADM5SRV_MITDIR}/libkadm5srv_mit${PIE_SUFFIX}.a LIBKADMIN_COMMONDIR= ${_LIB_OBJTOP}/krb5/lib/kadmin_common LIBKADMIN_COMMON?= ${LIBKADMIN_COMMONDIR}/libkadmin_common${PIE_SUFFIX}.a LIBKDB5DIR= ${_LIB_OBJTOP}/krb5/lib/kdb LIBKDB5?= ${LIBKDB5DIR}/libkdb5${PIE_SUFFIX}.a LIBKPROP_UTILDIR= ${_LIB_OBJTOP}/krb5/lib/kprop_util LIBKPROP_UTIL?= ${LIBKPROP_UTILDIR}/libkprop_util${PIE_SUFFIX}.a LIBKRADDIR= ${_LIB_OBJTOP}/krb5/lib/krad LIBKRAD?= ${LIBKRADDIR}/libkrad${PIE_SUFFIX}.a LIBKRB5DIR= ${_LIB_OBJTOP}/krb5/lib/krb5 LIBKRB5?= ${LIBKRB5DIR}/libkrb5${PIE_SUFFIX}.a LIBKRB5SSDIR= ${_LIB_OBJTOP}/krb5/util/ss LIBKRB5SS?= ${LIBKRB5SUPPORTDIR}/libkrb5ss${PIE_SUFFIX}.a LIBKRB5SUPPORTDIR= ${_LIB_OBJTOP}/krb5/util/support LIBKRB5SUPPORT?= ${LIBKRB5SUPPORTDIR}/libkrb5support${PIE_SUFFIX}.a LIBKRB5PROFILEDIR= ${_LIB_OBJTOP}/krb5/util/profile LIBKRB5PROFILE?= ${LIBPROFILEDIR}/libkrb5profile${PIE_SUFFIX}.a LIBVERTODIR= ${_LIB_OBJTOP}/krb5/util/verto LIBVERTO?= ${LIBVERTODIR}/libverto${PIE_SUFFIX}.a .else LIBASN1DIR= ${_LIB_OBJTOP}/kerberos5/lib/libasn1 LIBGSSAPI_KRB5DIR= ${_LIB_OBJTOP}/kerberos5/lib/libgssapi_krb5 LIBGSSAPI_NTLMDIR= ${_LIB_OBJTOP}/kerberos5/lib/libgssapi_ntlm LIBGSSAPI_SPNEGODIR= ${_LIB_OBJTOP}/kerberos5/lib/libgssapi_spnego LIBHDBDIR= ${_LIB_OBJTOP}/kerberos5/lib/libhdb LIBHEIMBASEDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimbase LIBHEIMIPCCDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimipcc LIBHEIMIPCSDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimipcs LIBHEIMNTLMDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimntlm LIBHX509DIR= ${_LIB_OBJTOP}/kerberos5/lib/libhx509 LIBKADM5CLNTDIR= ${_LIB_OBJTOP}/kerberos5/lib/libkadm5clnt LIBKADM5SRVDIR= ${_LIB_OBJTOP}/kerberos5/lib/libkadm5srv LIBKAFS5DIR= ${_LIB_OBJTOP}/kerberos5/lib/libkafs5 LIBKDCDIR= ${_LIB_OBJTOP}/kerberos5/lib/libkdc LIBKRB5DIR= ${_LIB_OBJTOP}/kerberos5/lib/libkrb5 LIBROKENDIR= ${_LIB_OBJTOP}/kerberos5/lib/libroken LIBWINDDIR= ${_LIB_OBJTOP}/kerberos5/lib/libwind .endif LIBATF_CDIR= ${_LIB_OBJTOP}/lib/atf/libatf-c LIBATF_CXXDIR= ${_LIB_OBJTOP}/lib/atf/libatf-c++ LIBGMOCKDIR= ${_LIB_OBJTOP}/lib/googletest/gmock LIBGMOCK_MAINDIR= ${_LIB_OBJTOP}/lib/googletest/gmock_main LIBGTESTDIR= ${_LIB_OBJTOP}/lib/googletest/gtest LIBGTEST_MAINDIR= ${_LIB_OBJTOP}/lib/googletest/gtest_main LIBALIASDIR= ${_LIB_OBJTOP}/lib/libalias/libalias LIBBLACKLISTDIR= ${_LIB_OBJTOP}/lib/libblacklist LIBBLOCKSRUNTIMEDIR= ${_LIB_OBJTOP}/lib/libblocksruntime LIBBSNMPDIR= ${_LIB_OBJTOP}/lib/libbsnmp/libbsnmp LIBCASPERDIR= ${_LIB_OBJTOP}/lib/libcasper/libcasper LIBCAP_DNSDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_dns LIBCAP_GRPDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_grp LIBCAP_NETDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_net LIBCAP_PWDDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_pwd LIBCAP_SYSCTLDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_sysctl LIBCAP_SYSLOGDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_syslog LIBCBORDIR= ${_LIB_OBJTOP}/lib/libcbor LIBBSDXMLDIR= ${_LIB_OBJTOP}/lib/libexpat LIBFIDO2DIR= ${_LIB_OBJTOP}/lib/libfido2 LIBKVMDIR= ${_LIB_OBJTOP}/lib/libkvm LIBPTHREADDIR= ${_LIB_OBJTOP}/lib/libthr LIBMDIR= ${_LIB_OBJTOP}/lib/msun LIBFORMWDIR= ${_LIB_OBJTOP}/lib/ncurses/form LIBMENUWDIR= ${_LIB_OBJTOP}/lib/ncurses/menu LIBNCURSESWDIR= ${_LIB_OBJTOP}/lib/ncurses/ncurses LIBTINFOWDIR= ${_LIB_OBJTOP}/lib/ncurses/tinfo LIBPANELWDIR= ${_LIB_OBJTOP}/lib/ncurses/panel LIBCRYPTODIR= ${_LIB_OBJTOP}/secure/lib/libcrypto LIBSPLDIR= ${_LIB_OBJTOP}/cddl/lib/libspl LIBSSHDIR= ${_LIB_OBJTOP}/secure/lib/libssh LIBSSLDIR= ${_LIB_OBJTOP}/secure/lib/libssl LIBTEKENDIR= ${_LIB_OBJTOP}/sys/teken/libteken LIBEGACYDIR= ${_LIB_OBJTOP}/tools/build LIBLNDIR= ${_LIB_OBJTOP}/usr.bin/lex/lib LIBTERMCAPWDIR= ${LIBTINFOWDIR} .-include # Default other library directories to lib/libNAME. .for lib in ${_LIBRARIES} LIB${lib:tu}DIR?= ${OBJTOP}/lib/lib${lib} .endfor # Validate that listed LIBADD are valid. .for _l in ${LIBADD} .if empty(_LIBRARIES:M${_l}) _BADLIBADD+= ${_l} .endif .endfor .if !empty(_BADLIBADD) .error ${.CURDIR}: Invalid LIBADD used which may need to be added to ${_this:T}: ${_BADLIBADD} .endif # Sanity check that libraries are defined here properly when building them. .if defined(LIB) && ${_LIBRARIES:M${LIB}} != "" .if !empty(LIBADD) && \ (!defined(_DP_${LIB}) || ${LIBADD:O:u} != ${_DP_${LIB}:O:u}) .error ${.CURDIR}: Missing or incorrect _DP_${LIB} entry in ${_this:T}. Should match LIBADD for ${LIB} ('${LIBADD}' vs '${_DP_${LIB}}') .endif # Note that OBJTOP is not yet defined here but for the purpose of the check # it is fine as it resolves to the SRC directory. .if !defined(LIB${LIB:tu}DIR) || !exists(${SRCTOP}/${LIB${LIB:tu}DIR:S,^${OBJTOP}/,,}) .error ${.CURDIR}: Missing or incorrect value for LIB${LIB:tu}DIR in ${_this:T}: ${LIB${LIB:tu}DIR:S,^${OBJTOP}/,,} .endif .if ${_INTERNALLIBS:M${LIB}} != "" && !defined(LIB${LIB:tu}) .error ${.CURDIR}: Missing value for LIB${LIB:tu} in ${_this:T}. Likely should be: LIB${LIB:tu}?= $${LIB${LIB:tu}DIR}/lib${LIB}.a .endif .endif .endif # !target(____)