1$ECASM= 2IF[{- !$disabled{asm} -}] 3 $ECASM_x86=ecp_nistz256.c ecp_nistz256-x86.S 4 $ECDEF_x86=ECP_NISTZ256_ASM 5 6 $ECASM_x86_64=ecp_nistz256.c ecp_nistz256-x86_64.s 7 $ECDEF_x86_64=ECP_NISTZ256_ASM 8 IF[{- !$disabled{'ecx'} -}] 9 $ECASM_x86_64=$ECASM_x86_64 x25519-x86_64.s 10 $ECDEF_x86_64=$ECDEF_x86_64 X25519_ASM 11 ENDIF 12 $ECASM_ia64= 13 14 $ECASM_sparcv9=ecp_nistz256.c ecp_nistz256-sparcv9.S 15 $ECDEF_sparcv9=ECP_NISTZ256_ASM 16 17 $ECASM_sparcv8= 18 19 $ECASM_alpha= 20 21 $ECASM_mips32= 22 $ECASM_mips64= 23 24 $ECASM_s390x=ecp_s390x_nistp.c 25 IF[{- !$disabled{'ecx'} -}] 26 $ECASM_s390x=$ECASM_s390x ecx_s390x.c 27 ENDIF 28 $ECDEF_s390x=S390X_EC_ASM 29 30 $ECASM_armv4=ecp_nistz256.c ecp_nistz256-armv4.S 31 $ECDEF_armv4=ECP_NISTZ256_ASM 32 $ECASM_aarch64=ecp_nistz256.c ecp_nistz256-armv8.S 33 $ECDEF_aarch64=ECP_NISTZ256_ASM 34 IF[{- !$disabled{'sm2'} -}] 35 $ECASM_aarch64=$ECASM_aarch64 ecp_sm2p256.c ecp_sm2p256-armv8.S 36 IF[{- !$disabled{'sm2-precomp'} -}] 37 $ECASM_aarch64=$ECASM_aarch64 ecp_sm2p256_table.c 38 ENDIF 39 $ECDEF_aarch64=$ECDEF_aarch64 ECP_SM2P256_ASM 40 ENDIF 41 42 $ECASM_parisc11= 43 $ECASM_parisc20_64= 44 45 $ECASM_ppc32= 46 $ECASM_ppc64=ecp_nistz256.c ecp_ppc.c ecp_nistz256-ppc64.s 47 $ECDEF_ppc64=ECP_NISTZ256_ASM 48 IF[{- !$disabled{'ec_nistp_64_gcc_128'} -}] 49 $ECASM_ppc64=$ECASM_ppc64 ecp_nistp384-ppc64.s ecp_nistp521-ppc64.s 50 $ECDEF_ppc64=$ECDEF_ppc64 ECP_NISTP384_ASM ECP_NISTP521_ASM 51 INCLUDE[ecp_nistp384.o]=.. 52 INCLUDE[ecp_nistp521.o]=.. 53 ENDIF 54 IF[{- !$disabled{'ecx'} -}] 55 $ECASM_ppc64=$ECASM_ppc64 x25519-ppc64.s 56 $ECDEF_ppc64=$ECDEF_ppc64 X25519_ASM 57 INCLUDE[ecx_s390x.o]=.. 58 ENDIF 59 60 $ECASM_c64xplus= 61 62 # Now that we have defined all the arch specific variables, use the 63 # appropriate one, and define the appropriate macros 64 IF[$ECASM_{- $target{asm_arch} -}] 65 $ECASM=$ECASM_{- $target{asm_arch} -} 66 $ECDEF=$ECDEF_{- $target{asm_arch} -} 67 ENDIF 68ENDIF 69 70$COMMON=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c \ 71 ec_curve.c ec_check.c ec_key.c ec_kmeth.c ec_asn1.c \ 72 ec2_smpl.c \ 73 ecp_oct.c ec2_oct.c ec_oct.c ecdh_ossl.c \ 74 ecdsa_ossl.c ecdsa_sign.c ecdsa_vrf.c \ 75 $ECASM ec_backend.c ecdh_kdf.c 76 77IF[{- !$disabled{'ecx'} -}] 78 $COMMON=$COMMON curve25519.c curve448/f_generic.c curve448/scalar.c \ 79 curve448/arch_64/f_impl64.c ecx_backend.c curve448/arch_32/f_impl32.c \ 80 curve448/curve448_tables.c curve448/eddsa.c curve448/curve448.c \ 81 ecx_key.c 82ENDIF 83 84IF[{- !$disabled{'ec_nistp_64_gcc_128'} -}] 85 $COMMON=$COMMON ecp_nistp224.c ecp_nistp256.c ecp_nistp384.c ecp_nistp521.c ecp_nistputil.c 86ENDIF 87 88SOURCE[../../libcrypto]=$COMMON ec_ameth.c ec_pmeth.c \ 89 ec_err.c eck_prn.c \ 90 ec_deprecated.c ec_print.c 91IF[{- !$disabled{'ecx'} -}] 92 SOURCE[../../libcrypto]=ecx_meth.c 93ENDIF 94SOURCE[../../providers/libfips.a]=$COMMON 95 96# Implementations are now spread across several libraries, so the defines 97# need to be applied to all affected libraries and modules. 98DEFINE[../../libcrypto]=$ECDEF 99DEFINE[../../providers/libfips.a]=$ECDEF 100DEFINE[../../providers/libdefault.a]=$ECDEF 101# We only need to include the ECDEF stuff in the legacy provider when 102# it's a separate module and it's dynamically linked with libcrypto. 103# Otherwise, it already gets everything that the static libcrypto.a 104# has, and doesn't need it added again. 105IF[{- !$disabled{module} && !$disabled{shared} -}] 106 DEFINE[../../providers/liblegacy.a]=$ECDEF 107ENDIF 108 109GENERATE[ecp_nistz256-x86.S]=asm/ecp_nistz256-x86.pl 110 111GENERATE[ecp_nistz256-x86_64.s]=asm/ecp_nistz256-x86_64.pl 112 113GENERATE[ecp_nistz256-avx2.s]=asm/ecp_nistz256-avx2.pl 114 115GENERATE[ecp_nistz256-sparcv9.S]=asm/ecp_nistz256-sparcv9.pl 116INCLUDE[ecp_nistz256-sparcv9.o]=.. 117 118INCLUDE[ecp_s390x_nistp.o]=.. 119IF[{- !$disabled{'ecx'} -}] 120 INCLUDE[ecx_meth.o]=.. 121 INCLUDE[ecx_key.o]=.. 122ENDIF 123 124GENERATE[ecp_nistz256-armv4.S]=asm/ecp_nistz256-armv4.pl 125INCLUDE[ecp_nistz256-armv4.o]=.. 126GENERATE[ecp_nistz256-armv8.S]=asm/ecp_nistz256-armv8.pl 127INCLUDE[ecp_nistz256-armv8.o]=.. 128GENERATE[ecp_nistz256-ppc64.s]=asm/ecp_nistz256-ppc64.pl 129 130GENERATE[ecp_nistp384-ppc64.s]=asm/ecp_nistp384-ppc64.pl 131GENERATE[ecp_nistp521-ppc64.s]=asm/ecp_nistp521-ppc64.pl 132 133IF[{- !$disabled{'ecx'} -}] 134GENERATE[x25519-x86_64.s]=asm/x25519-x86_64.pl 135GENERATE[x25519-ppc64.s]=asm/x25519-ppc64.pl 136ENDIF 137 138IF[{- !$disabled{'sm2'} -}] 139 GENERATE[ecp_sm2p256-armv8.S]=asm/ecp_sm2p256-armv8.pl 140 INCLUDE[ecp_sm2p256-armv8.o]=.. 141ENDIF 142