1e1051a39Sopenharmony_ciLIBS=../../libcrypto
2e1051a39Sopenharmony_ci
3e1051a39Sopenharmony_ci$MODESASM=
4e1051a39Sopenharmony_ciIF[{- !$disabled{asm} -}]
5e1051a39Sopenharmony_ci  $MODESASM_x86=ghash-x86.S
6e1051a39Sopenharmony_ci  $MODESDEF_x86=GHASH_ASM
7e1051a39Sopenharmony_ci  $MODESASM_x86_64=ghash-x86_64.s aesni-gcm-x86_64.s
8e1051a39Sopenharmony_ci  $MODESDEF_x86_64=GHASH_ASM
9e1051a39Sopenharmony_ci
10e1051a39Sopenharmony_ci  # ghash-ia64.s doesn't work on VMS
11e1051a39Sopenharmony_ci  IF[{- $config{target} !~ /^vms-/ -}]
12e1051a39Sopenharmony_ci    $MODESASM_ia64=ghash-ia64.s
13e1051a39Sopenharmony_ci    $MODESDEF_ia64=GHASH_ASM
14e1051a39Sopenharmony_ci  ENDIF
15e1051a39Sopenharmony_ci
16e1051a39Sopenharmony_ci  $MODESASM_sparcv9=ghash-sparcv9.S
17e1051a39Sopenharmony_ci  $MODESDEF_sparcv9=GHASH_ASM
18e1051a39Sopenharmony_ci
19e1051a39Sopenharmony_ci  $MODESASM_alpha=ghash-alpha.S
20e1051a39Sopenharmony_ci  $MODESDEF_alpha=GHASH_ASM
21e1051a39Sopenharmony_ci
22e1051a39Sopenharmony_ci  $MODESASM_s390x=ghash-s390x.S
23e1051a39Sopenharmony_ci  $MODESDEF_s390x=GHASH_ASM
24e1051a39Sopenharmony_ci
25e1051a39Sopenharmony_ci  $MODESASM_armv4=ghash-armv4.S ghashv8-armx.S
26e1051a39Sopenharmony_ci  $MODESDEF_armv4=GHASH_ASM
27e1051a39Sopenharmony_ci  $MODESASM_aarch64=ghashv8-armx.S aes-gcm-armv8_64.S
28e1051a39Sopenharmony_ci  $MODESDEF_aarch64=
29e1051a39Sopenharmony_ci
30e1051a39Sopenharmony_ci  $MODESASM_parisc11=ghash-parisc.s
31e1051a39Sopenharmony_ci  $MODESDEF_parisc11=GHASH_ASM
32e1051a39Sopenharmony_ci  $MODESASM_parisc20_64=$MODESASM_parisc11
33e1051a39Sopenharmony_ci  $MODESDEF_parisc20_64=$MODESDEF_parisc11
34e1051a39Sopenharmony_ci
35e1051a39Sopenharmony_ci  $MODESASM_ppc32=ghashp8-ppc.s
36e1051a39Sopenharmony_ci  $MODESDEF_ppc32=
37e1051a39Sopenharmony_ci  $MODESASM_ppc64=$MODESASM_ppc32
38e1051a39Sopenharmony_ci  $MODESDEF_ppc64=$MODESDEF_ppc32
39e1051a39Sopenharmony_ci
40e1051a39Sopenharmony_ci  $MODESASM_c64xplus=ghash-c64xplus.s
41e1051a39Sopenharmony_ci  $MODESDEF_c64xplus=GHASH_ASM
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[$MODESASM_{- $target{asm_arch} -}]
46e1051a39Sopenharmony_ci    $MODESASM=$MODESASM_{- $target{asm_arch} -}
47e1051a39Sopenharmony_ci    $MODESDEF=$MODESDEF_{- $target{asm_arch} -}
48e1051a39Sopenharmony_ci  ENDIF
49e1051a39Sopenharmony_ciENDIF
50e1051a39Sopenharmony_ci
51e1051a39Sopenharmony_ci$COMMON=cbc128.c ctr128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c \
52e1051a39Sopenharmony_ci        wrap128.c $MODESASM
53e1051a39Sopenharmony_ciSOURCE[../../libcrypto]=$COMMON \
54e1051a39Sopenharmony_ci        cts128.c ocb128.c siv128.c
55e1051a39Sopenharmony_ciSOURCE[../../providers/libfips.a]=$COMMON
56e1051a39Sopenharmony_ci
57e1051a39Sopenharmony_ci# Implementations are now spread across several libraries, so the defines
58e1051a39Sopenharmony_ci# need to be applied to all affected libraries and modules.
59e1051a39Sopenharmony_ciDEFINE[../../libcrypto]=$MODESDEF
60e1051a39Sopenharmony_ciDEFINE[../../providers/libfips.a]=$MODESDEF
61e1051a39Sopenharmony_ci
62e1051a39Sopenharmony_ci
63e1051a39Sopenharmony_ciINCLUDE[gcm128.o]=..
64e1051a39Sopenharmony_ci
65e1051a39Sopenharmony_ciGENERATE[ghash-ia64.s]=asm/ghash-ia64.pl
66e1051a39Sopenharmony_ciGENERATE[ghash-x86.S]=asm/ghash-x86.pl
67e1051a39Sopenharmony_ciGENERATE[ghash-x86_64.s]=asm/ghash-x86_64.pl
68e1051a39Sopenharmony_ciGENERATE[aesni-gcm-x86_64.s]=asm/aesni-gcm-x86_64.pl
69e1051a39Sopenharmony_ciGENERATE[ghash-sparcv9.S]=asm/ghash-sparcv9.pl
70e1051a39Sopenharmony_ciINCLUDE[ghash-sparcv9.o]=..
71e1051a39Sopenharmony_ciGENERATE[ghash-alpha.S]=asm/ghash-alpha.pl
72e1051a39Sopenharmony_ciGENERATE[ghash-parisc.s]=asm/ghash-parisc.pl
73e1051a39Sopenharmony_ciGENERATE[ghashp8-ppc.s]=asm/ghashp8-ppc.pl
74e1051a39Sopenharmony_ciGENERATE[ghash-armv4.S]=asm/ghash-armv4.pl
75e1051a39Sopenharmony_ciINCLUDE[ghash-armv4.o]=..
76e1051a39Sopenharmony_ciGENERATE[ghashv8-armx.S]=asm/ghashv8-armx.pl
77e1051a39Sopenharmony_ciINCLUDE[ghashv8-armx.o]=..
78e1051a39Sopenharmony_ciGENERATE[aes-gcm-armv8_64.S]=asm/aes-gcm-armv8_64.pl
79e1051a39Sopenharmony_ciINCLUDE[aes-gcm-armv8_64.o]=..
80e1051a39Sopenharmony_ciGENERATE[ghash-s390x.S]=asm/ghash-s390x.pl
81e1051a39Sopenharmony_ciINCLUDE[ghash-s390x.o]=..
82e1051a39Sopenharmony_ciGENERATE[ghash-c64xplus.S]=asm/ghash-c64xplus.pl
83