1*ae8c08e7SSimon J. Gerraty# $FreeBSD$ 2*ae8c08e7SSimon J. Gerraty 3*ae8c08e7SSimon J. Gerraty# This is a reach over build of BearSSL (www.BearSSL.org) 4*ae8c08e7SSimon J. Gerraty 5*ae8c08e7SSimon J. Gerraty.include <src.opts.mk> 6*ae8c08e7SSimon J. Gerraty 7*ae8c08e7SSimon J. GerratyLIB= bearssl 8*ae8c08e7SSimon J. Gerraty 9*ae8c08e7SSimon J. Gerraty# pick up SRCS used by libsa 10*ae8c08e7SSimon J. Gerraty.include "Makefile.libsa.inc" 11*ae8c08e7SSimon J. Gerraty 12*ae8c08e7SSimon J. GerratySRCS+= \ 13*ae8c08e7SSimon J. Gerraty codec/dec16be.c \ 14*ae8c08e7SSimon J. Gerraty codec/dec16le.c \ 15*ae8c08e7SSimon J. Gerraty codec/dec32le.c \ 16*ae8c08e7SSimon J. Gerraty codec/dec64le.c \ 17*ae8c08e7SSimon J. Gerraty codec/enc16be.c \ 18*ae8c08e7SSimon J. Gerraty codec/enc16le.c \ 19*ae8c08e7SSimon J. Gerraty codec/enc32le.c \ 20*ae8c08e7SSimon J. Gerraty codec/enc64le.c \ 21*ae8c08e7SSimon J. Gerraty codec/pemenc.c \ 22*ae8c08e7SSimon J. Gerraty ec/ec_all_m15.c \ 23*ae8c08e7SSimon J. Gerraty ec/ec_c25519_i15.c \ 24*ae8c08e7SSimon J. Gerraty ec/ec_c25519_i31.c \ 25*ae8c08e7SSimon J. Gerraty ec/ec_c25519_m15.c \ 26*ae8c08e7SSimon J. Gerraty ec/ec_curve25519.c \ 27*ae8c08e7SSimon J. Gerraty ec/ec_keygen.c \ 28*ae8c08e7SSimon J. Gerraty ec/ec_p256_m15.c \ 29*ae8c08e7SSimon J. Gerraty ec/ec_prime_i15.c \ 30*ae8c08e7SSimon J. Gerraty ec/ecdsa_default_sign_asn1.c \ 31*ae8c08e7SSimon J. Gerraty ec/ecdsa_default_sign_raw.c \ 32*ae8c08e7SSimon J. Gerraty ec/ecdsa_default_vrfy_raw.c \ 33*ae8c08e7SSimon J. Gerraty ec/ecdsa_i15_bits.c \ 34*ae8c08e7SSimon J. Gerraty ec/ecdsa_i15_sign_asn1.c \ 35*ae8c08e7SSimon J. Gerraty ec/ecdsa_i15_sign_raw.c \ 36*ae8c08e7SSimon J. Gerraty ec/ecdsa_i15_vrfy_asn1.c \ 37*ae8c08e7SSimon J. Gerraty ec/ecdsa_i15_vrfy_raw.c \ 38*ae8c08e7SSimon J. Gerraty ec/ecdsa_i31_sign_asn1.c \ 39*ae8c08e7SSimon J. Gerraty ec/ecdsa_i31_sign_raw.c \ 40*ae8c08e7SSimon J. Gerraty ec/ecdsa_rta.c \ 41*ae8c08e7SSimon J. Gerraty hash/dig_oid.c \ 42*ae8c08e7SSimon J. Gerraty hash/dig_size.c \ 43*ae8c08e7SSimon J. Gerraty hash/ghash_ctmul.c \ 44*ae8c08e7SSimon J. Gerraty hash/ghash_ctmul32.c \ 45*ae8c08e7SSimon J. Gerraty hash/ghash_ctmul64.c \ 46*ae8c08e7SSimon J. Gerraty hash/ghash_pwr8.c \ 47*ae8c08e7SSimon J. Gerraty hash/md5.c \ 48*ae8c08e7SSimon J. Gerraty hash/md5sha1.c \ 49*ae8c08e7SSimon J. Gerraty 50*ae8c08e7SSimon J. Gerraty 51*ae8c08e7SSimon J. Gerraty# this one does not compile for amd64 52*ae8c08e7SSimon J. Gerraty# we do not need it 53*ae8c08e7SSimon J. Gerraty# hash/ghash_pclmul.c \ 54*ae8c08e7SSimon J. Gerraty 55*ae8c08e7SSimon J. GerratySRCS+= \ 56*ae8c08e7SSimon J. Gerraty int/i15_add.c \ 57*ae8c08e7SSimon J. Gerraty int/i15_bitlen.c \ 58*ae8c08e7SSimon J. Gerraty int/i15_decmod.c \ 59*ae8c08e7SSimon J. Gerraty int/i15_decode.c \ 60*ae8c08e7SSimon J. Gerraty int/i15_decred.c \ 61*ae8c08e7SSimon J. Gerraty int/i15_encode.c \ 62*ae8c08e7SSimon J. Gerraty int/i15_fmont.c \ 63*ae8c08e7SSimon J. Gerraty int/i15_iszero.c \ 64*ae8c08e7SSimon J. Gerraty int/i15_moddiv.c \ 65*ae8c08e7SSimon J. Gerraty int/i15_modpow.c \ 66*ae8c08e7SSimon J. Gerraty int/i15_modpow2.c \ 67*ae8c08e7SSimon J. Gerraty int/i15_montmul.c \ 68*ae8c08e7SSimon J. Gerraty int/i15_mulacc.c \ 69*ae8c08e7SSimon J. Gerraty int/i15_muladd.c \ 70*ae8c08e7SSimon J. Gerraty int/i15_ninv15.c \ 71*ae8c08e7SSimon J. Gerraty int/i15_reduce.c \ 72*ae8c08e7SSimon J. Gerraty int/i15_rshift.c \ 73*ae8c08e7SSimon J. Gerraty int/i15_sub.c \ 74*ae8c08e7SSimon J. Gerraty int/i15_tmont.c \ 75*ae8c08e7SSimon J. Gerraty int/i31_decred.c \ 76*ae8c08e7SSimon J. Gerraty int/i31_mulacc.c \ 77*ae8c08e7SSimon J. Gerraty int/i31_reduce.c \ 78*ae8c08e7SSimon J. Gerraty int/i32_add.c \ 79*ae8c08e7SSimon J. Gerraty int/i32_bitlen.c \ 80*ae8c08e7SSimon J. Gerraty int/i32_decmod.c \ 81*ae8c08e7SSimon J. Gerraty int/i32_decode.c \ 82*ae8c08e7SSimon J. Gerraty int/i32_decred.c \ 83*ae8c08e7SSimon J. Gerraty int/i32_encode.c \ 84*ae8c08e7SSimon J. Gerraty int/i32_fmont.c \ 85*ae8c08e7SSimon J. Gerraty int/i32_iszero.c \ 86*ae8c08e7SSimon J. Gerraty int/i32_modpow.c \ 87*ae8c08e7SSimon J. Gerraty int/i32_montmul.c \ 88*ae8c08e7SSimon J. Gerraty int/i32_mulacc.c \ 89*ae8c08e7SSimon J. Gerraty int/i32_muladd.c \ 90*ae8c08e7SSimon J. Gerraty int/i32_ninv32.c \ 91*ae8c08e7SSimon J. Gerraty int/i32_reduce.c \ 92*ae8c08e7SSimon J. Gerraty int/i32_sub.c \ 93*ae8c08e7SSimon J. Gerraty int/i32_tmont.c \ 94*ae8c08e7SSimon J. Gerraty 95*ae8c08e7SSimon J. GerratySRCS+= \ 96*ae8c08e7SSimon J. Gerraty kdf/hkdf.c \ 97*ae8c08e7SSimon J. Gerraty kdf/shake.c \ 98*ae8c08e7SSimon J. Gerraty 99*ae8c08e7SSimon J. GerratySRCS+= \ 100*ae8c08e7SSimon J. Gerraty rsa/rsa_default_keygen.c \ 101*ae8c08e7SSimon J. Gerraty rsa/rsa_default_modulus.c \ 102*ae8c08e7SSimon J. Gerraty rsa/rsa_default_pkcs1_sign.c \ 103*ae8c08e7SSimon J. Gerraty rsa/rsa_default_priv.c \ 104*ae8c08e7SSimon J. Gerraty rsa/rsa_default_privexp.c \ 105*ae8c08e7SSimon J. Gerraty rsa/rsa_default_pss_sign.c \ 106*ae8c08e7SSimon J. Gerraty rsa/rsa_default_pss_vrfy.c \ 107*ae8c08e7SSimon J. Gerraty rsa/rsa_default_pub.c \ 108*ae8c08e7SSimon J. Gerraty rsa/rsa_default_pubexp.c \ 109*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_keygen.c \ 110*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_modulus.c \ 111*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_pkcs1_sign.c \ 112*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_pkcs1_vrfy.c \ 113*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_priv.c \ 114*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_privexp.c \ 115*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_pss_sign.c \ 116*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_pss_vrfy.c \ 117*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_pub.c \ 118*ae8c08e7SSimon J. Gerraty rsa/rsa_i15_pubexp.c \ 119*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_keygen.c \ 120*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_keygen_inner.c \ 121*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_modulus.c \ 122*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_pkcs1_sign.c \ 123*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_priv.c \ 124*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_privexp.c \ 125*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_pss_sign.c \ 126*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_pss_vrfy.c \ 127*ae8c08e7SSimon J. Gerraty rsa/rsa_i31_pubexp.c \ 128*ae8c08e7SSimon J. Gerraty rsa/rsa_i32_pkcs1_sign.c \ 129*ae8c08e7SSimon J. Gerraty rsa/rsa_i32_pkcs1_vrfy.c \ 130*ae8c08e7SSimon J. Gerraty rsa/rsa_i32_priv.c \ 131*ae8c08e7SSimon J. Gerraty rsa/rsa_i32_pss_sign.c \ 132*ae8c08e7SSimon J. Gerraty rsa/rsa_i32_pss_vrfy.c \ 133*ae8c08e7SSimon J. Gerraty rsa/rsa_i32_pub.c \ 134*ae8c08e7SSimon J. Gerraty rsa/rsa_i62_keygen.c \ 135*ae8c08e7SSimon J. Gerraty rsa/rsa_i62_pkcs1_sign.c \ 136*ae8c08e7SSimon J. Gerraty rsa/rsa_i62_priv.c \ 137*ae8c08e7SSimon J. Gerraty rsa/rsa_i62_pss_sign.c \ 138*ae8c08e7SSimon J. Gerraty rsa/rsa_i62_pss_vrfy.c \ 139*ae8c08e7SSimon J. Gerraty rsa/rsa_pkcs1_sig_pad.c \ 140*ae8c08e7SSimon J. Gerraty rsa/rsa_pss_sig_pad.c \ 141*ae8c08e7SSimon J. Gerraty rsa/rsa_pss_sig_unpad.c \ 142*ae8c08e7SSimon J. Gerraty rsa/rsa_ssl_decrypt.c \ 143*ae8c08e7SSimon J. Gerraty 144*ae8c08e7SSimon J. GerratySRCS+= \ 145*ae8c08e7SSimon J. Gerraty x509/encode_ec_pk8der.c \ 146*ae8c08e7SSimon J. Gerraty x509/encode_ec_rawder.c \ 147*ae8c08e7SSimon J. Gerraty x509/encode_rsa_pk8der.c \ 148*ae8c08e7SSimon J. Gerraty x509/encode_rsa_rawder.c \ 149*ae8c08e7SSimon J. Gerraty x509/skey_decoder.c \ 150*ae8c08e7SSimon J. Gerraty x509/x509_knownkey.c \ 151*ae8c08e7SSimon J. Gerraty x509/x509_minimal_full.c \ 152*ae8c08e7SSimon J. Gerraty 153*ae8c08e7SSimon J. GerratyINCS= \ 154*ae8c08e7SSimon J. Gerraty inc/bearssl.h \ 155*ae8c08e7SSimon J. Gerraty inc/bearssl_aead.h \ 156*ae8c08e7SSimon J. Gerraty inc/bearssl_block.h \ 157*ae8c08e7SSimon J. Gerraty inc/bearssl_ec.h \ 158*ae8c08e7SSimon J. Gerraty inc/bearssl_hash.h \ 159*ae8c08e7SSimon J. Gerraty inc/bearssl_hmac.h \ 160*ae8c08e7SSimon J. Gerraty inc/bearssl_kdf.h \ 161*ae8c08e7SSimon J. Gerraty inc/bearssl_pem.h \ 162*ae8c08e7SSimon J. Gerraty inc/bearssl_prf.h \ 163*ae8c08e7SSimon J. Gerraty inc/bearssl_rand.h \ 164*ae8c08e7SSimon J. Gerraty inc/bearssl_rsa.h \ 165*ae8c08e7SSimon J. Gerraty inc/bearssl_ssl.h \ 166*ae8c08e7SSimon J. Gerraty inc/bearssl_x509.h \ 167*ae8c08e7SSimon J. Gerraty 168*ae8c08e7SSimon J. GerratyINCS:= ${INCS:S,^,${BEARSSL}/,} 169*ae8c08e7SSimon J. Gerraty 170*ae8c08e7SSimon J. Gerraty 171*ae8c08e7SSimon J. Gerraty.if ${MK_BEARSSL_SSL:Uno} == "yes" 172*ae8c08e7SSimon J. GerratySRCS+= \ 173*ae8c08e7SSimon J. Gerraty mac/hmac.c \ 174*ae8c08e7SSimon J. Gerraty mac/hmac_ct.c \ 175*ae8c08e7SSimon J. Gerraty rand/hmac_drbg.c \ 176*ae8c08e7SSimon J. Gerraty ssl/prf.c \ 177*ae8c08e7SSimon J. Gerraty ssl/prf_md5sha1.c \ 178*ae8c08e7SSimon J. Gerraty ssl/prf_sha256.c \ 179*ae8c08e7SSimon J. Gerraty ssl/prf_sha384.c \ 180*ae8c08e7SSimon J. Gerraty ssl/ssl_ccert_single_ec.c \ 181*ae8c08e7SSimon J. Gerraty ssl/ssl_ccert_single_rsa.c \ 182*ae8c08e7SSimon J. Gerraty ssl/ssl_client.c \ 183*ae8c08e7SSimon J. Gerraty ssl/ssl_client_default_rsapub.c \ 184*ae8c08e7SSimon J. Gerraty ssl/ssl_client_full.c \ 185*ae8c08e7SSimon J. Gerraty ssl/ssl_engine.c \ 186*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_aescbc.c \ 187*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_aesccm.c \ 188*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_aesgcm.c \ 189*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_chapol.c \ 190*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_descbc.c \ 191*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_ec.c \ 192*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_ecdsa.c \ 193*ae8c08e7SSimon J. Gerraty ssl/ssl_engine_default_rsavrfy.c \ 194*ae8c08e7SSimon J. Gerraty ssl/ssl_hashes.c \ 195*ae8c08e7SSimon J. Gerraty ssl/ssl_hs_client.c \ 196*ae8c08e7SSimon J. Gerraty ssl/ssl_hs_server.c \ 197*ae8c08e7SSimon J. Gerraty ssl/ssl_io.c \ 198*ae8c08e7SSimon J. Gerraty ssl/ssl_lru.c \ 199*ae8c08e7SSimon J. Gerraty ssl/ssl_rec_cbc.c \ 200*ae8c08e7SSimon J. Gerraty ssl/ssl_rec_ccm.c \ 201*ae8c08e7SSimon J. Gerraty ssl/ssl_rec_chapol.c \ 202*ae8c08e7SSimon J. Gerraty ssl/ssl_rec_gcm.c \ 203*ae8c08e7SSimon J. Gerraty ssl/ssl_scert_single_ec.c \ 204*ae8c08e7SSimon J. Gerraty ssl/ssl_scert_single_rsa.c \ 205*ae8c08e7SSimon J. Gerraty ssl/ssl_server.c \ 206*ae8c08e7SSimon J. Gerraty ssl/ssl_server_full_ec.c \ 207*ae8c08e7SSimon J. Gerraty ssl/ssl_server_full_rsa.c \ 208*ae8c08e7SSimon J. Gerraty ssl/ssl_server_mine2c.c \ 209*ae8c08e7SSimon J. Gerraty ssl/ssl_server_mine2g.c \ 210*ae8c08e7SSimon J. Gerraty ssl/ssl_server_minf2c.c \ 211*ae8c08e7SSimon J. Gerraty ssl/ssl_server_minf2g.c \ 212*ae8c08e7SSimon J. Gerraty ssl/ssl_server_minr2g.c \ 213*ae8c08e7SSimon J. Gerraty ssl/ssl_server_minu2g.c \ 214*ae8c08e7SSimon J. Gerraty ssl/ssl_server_minv2g.c \ 215*ae8c08e7SSimon J. Gerraty 216*ae8c08e7SSimon J. GerratySRCS+= \ 217*ae8c08e7SSimon J. Gerraty symcipher/aes_big_cbcdec.c \ 218*ae8c08e7SSimon J. Gerraty symcipher/aes_big_cbcenc.c \ 219*ae8c08e7SSimon J. Gerraty symcipher/aes_big_ctr.c \ 220*ae8c08e7SSimon J. Gerraty symcipher/aes_big_dec.c \ 221*ae8c08e7SSimon J. Gerraty symcipher/aes_big_enc.c \ 222*ae8c08e7SSimon J. Gerraty symcipher/aes_common.c \ 223*ae8c08e7SSimon J. Gerraty symcipher/aes_ct.c \ 224*ae8c08e7SSimon J. Gerraty symcipher/aes_ct64.c \ 225*ae8c08e7SSimon J. Gerraty symcipher/aes_ct64_cbcdec.c \ 226*ae8c08e7SSimon J. Gerraty symcipher/aes_ct64_cbcenc.c \ 227*ae8c08e7SSimon J. Gerraty symcipher/aes_ct64_ctr.c \ 228*ae8c08e7SSimon J. Gerraty symcipher/aes_ct64_dec.c \ 229*ae8c08e7SSimon J. Gerraty symcipher/aes_ct64_enc.c \ 230*ae8c08e7SSimon J. Gerraty symcipher/aes_ct_cbcdec.c \ 231*ae8c08e7SSimon J. Gerraty symcipher/aes_ct_cbcenc.c \ 232*ae8c08e7SSimon J. Gerraty symcipher/aes_ct_ctr.c \ 233*ae8c08e7SSimon J. Gerraty symcipher/aes_ct_dec.c \ 234*ae8c08e7SSimon J. Gerraty symcipher/aes_ct_enc.c \ 235*ae8c08e7SSimon J. Gerraty symcipher/aes_pwr8.c \ 236*ae8c08e7SSimon J. Gerraty symcipher/aes_pwr8_cbcdec.c \ 237*ae8c08e7SSimon J. Gerraty symcipher/aes_pwr8_cbcenc.c \ 238*ae8c08e7SSimon J. Gerraty symcipher/aes_pwr8_ctr.c \ 239*ae8c08e7SSimon J. Gerraty symcipher/aes_pwr8_ctrcbc.c \ 240*ae8c08e7SSimon J. Gerraty symcipher/aes_small_cbcdec.c \ 241*ae8c08e7SSimon J. Gerraty symcipher/aes_small_cbcenc.c \ 242*ae8c08e7SSimon J. Gerraty symcipher/aes_small_ctr.c \ 243*ae8c08e7SSimon J. Gerraty symcipher/aes_small_dec.c \ 244*ae8c08e7SSimon J. Gerraty symcipher/aes_small_enc.c \ 245*ae8c08e7SSimon J. Gerraty symcipher/aes_x86ni.c \ 246*ae8c08e7SSimon J. Gerraty symcipher/aes_x86ni_cbcdec.c \ 247*ae8c08e7SSimon J. Gerraty symcipher/aes_x86ni_cbcenc.c \ 248*ae8c08e7SSimon J. Gerraty symcipher/aes_x86ni_ctr.c \ 249*ae8c08e7SSimon J. Gerraty symcipher/chacha20_ct.c \ 250*ae8c08e7SSimon J. Gerraty symcipher/des_ct.c \ 251*ae8c08e7SSimon J. Gerraty symcipher/des_ct_cbcdec.c \ 252*ae8c08e7SSimon J. Gerraty symcipher/des_ct_cbcenc.c \ 253*ae8c08e7SSimon J. Gerraty symcipher/des_support.c \ 254*ae8c08e7SSimon J. Gerraty symcipher/des_tab.c \ 255*ae8c08e7SSimon J. Gerraty symcipher/des_tab_cbcdec.c \ 256*ae8c08e7SSimon J. Gerraty symcipher/des_tab_cbcenc.c \ 257*ae8c08e7SSimon J. Gerraty symcipher/poly1305_ctmul.c \ 258*ae8c08e7SSimon J. Gerraty symcipher/poly1305_ctmul32.c \ 259*ae8c08e7SSimon J. Gerraty symcipher/poly1305_ctmulq.c \ 260*ae8c08e7SSimon J. Gerraty symcipher/poly1305_i15.c \ 261*ae8c08e7SSimon J. Gerraty 262*ae8c08e7SSimon J. Gerraty.endif 263*ae8c08e7SSimon J. Gerraty 264*ae8c08e7SSimon J. Gerraty.include <bsd.lib.mk> 265*ae8c08e7SSimon J. Gerraty 266*ae8c08e7SSimon J. Gerraty.if ${MACHINE} == "host" 267*ae8c08e7SSimon J. GerratyCWARNFLAGS+= -Wno-error 268*ae8c08e7SSimon J. Gerraty.endif 269*ae8c08e7SSimon J. GerratyXCFLAGS.gcc.rsa_i62_keygen+= -Wno-error 270*ae8c08e7SSimon J. GerratyXCFLAGS.i15_moddiv+= -Wno-shadow 271*ae8c08e7SSimon J. GerratyXCFLAGS.i31_moddiv+= -Wno-shadow 272*ae8c08e7SSimon J. GerratyXCFLAGS.i62_modpow2+= -Wno-cast-align 273*ae8c08e7SSimon J. GerratyXCFLAGS.x509_minimal+= -Wno-cast-qual 274*ae8c08e7SSimon J. Gerraty 275*ae8c08e7SSimon J. GerratyCFLAGS+= ${XCFLAGS.${.TARGET:T:R}:U} \ 276*ae8c08e7SSimon J. Gerraty ${XCFLAGS.${COMPILER_TYPE}.${.TARGET:T:R}:U} 277*ae8c08e7SSimon J. Gerraty 278