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