3 IF[{- !$disabled{asm} -}]
4 $SM4DEF_aarch64=SM4_ASM VPSM4_ASM
5 $SM4ASM_aarch64=sm4-armv8.S vpsm4-armv8.S vpsm4_ex-armv8.S
7 $SM4DEF_riscv64=SM4_ASM
8 $SM4ASM_riscv64=sm4-riscv64-zvksed.s
10 # Now that we have defined all the arch specific variables, use the
11 # appropriate one, and define the appropriate macros
12 IF[$SM4ASM_{- $target{asm_arch} -}]
13 $SM4ASM=$SM4ASM_{- $target{asm_arch} -}
14 $SM4DEF=$SM4DEF_{- $target{asm_arch} -}
18 SOURCE[../../libcrypto]= $SM4ASM sm4.c
21 # Implementations are now spread across several libraries, so the defines
22 # need to be applied to all affected libraries and modules.
23 DEFINE[../../libcrypto]=$SM4DEF
24 DEFINE[../../providers/libfips.a]=$SM4DEF
25 DEFINE[../../providers/libdefault.a]=$SM4DEF
26 # We only need to include the SM4DEF stuff in the legacy provider when it's a
27 # separate module and it's dynamically linked with libcrypto. Otherwise, it
28 # already gets everything that the static libcrypto.a has, and doesn't need it
30 IF[{- !$disabled{module} && !$disabled{shared} -}]
31 DEFINE[../../providers/liblegacy.a]=$SM4DEF
34 GENERATE[sm4-armv8.S]=asm/sm4-armv8.pl
35 GENERATE[vpsm4-armv8.S]=asm/vpsm4-armv8.pl
36 GENERATE[vpsm4_ex-armv8.S]=asm/vpsm4_ex-armv8.pl
37 INCLUDE[sm4-armv8.o]=..
38 INCLUDE[vpsm4-armv8.o]=..
39 INCLUDE[vpsm4_ex-armv8.o]=..
40 GENERATE[sm4-riscv64-zvksed.s]=asm/sm4-riscv64-zvksed.pl