summaryrefslogtreecommitdiffstats
path: root/crypto/aes
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-06-16 21:03:07 +0200
committerRichard Levitte <levitte@openssl.org>2019-06-17 16:08:52 +0200
commitcd42b9e9c275ab88515259da4eb3802ecda7fa7b (patch)
treeb15cc5d87a954169e4f39ed69bc2b82d1b2a7403 /crypto/aes
parentd67d04f37833b0b2e60367f01f994252bf2e259c (diff)
Move aes_asm_src file information to build.info files
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
Diffstat (limited to 'crypto/aes')
-rw-r--r--crypto/aes/build.info67
1 files changed, 64 insertions, 3 deletions
diff --git a/crypto/aes/build.info b/crypto/aes/build.info
index 3a27d17b3f..706ca58649 100644
--- a/crypto/aes/build.info
+++ b/crypto/aes/build.info
@@ -1,9 +1,70 @@
LIBS=../../libcrypto
-$COMMON=aes_misc.c aes_ecb.c {- $target{aes_asm_src} -}
-SOURCE[../../libcrypto]=$COMMON \
- aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c
+$AESASM=aes_core.c aes_cbc.c
+IF[{- !$disabled{asm} -}]
+ $AESASM_x86=aes-586.s
+ $AESASM_x86_sse2=vpaes-x86.s aesni-x86.s
+ $AESDEF_x86_sse2=AES_ASM VPAES_ASM
+
+ $AESASM_x86_64=\
+ aes-x86_64.s bsaes-x86_64.s \
+ aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s
+ $AESDEF_x86_64=AES_ASM BSAES_ASM
+ $AESASM_x86_64_sse2=vpaes-x86_64.s aesni-x86_64.s
+ $AESDEF_x86_64_sse2=VPAES_ASM
+
+ $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s
+ $AESDEF_ia64=AES_ASM
+
+ $AESASM_sparcv9=\
+ aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S
+ $AESDEF_sparcv9=AES_ASM
+
+ $AESASM_mips32=aes_cbc.c aes-mips.S
+ $AESDEF_mips32=AES_ASM
+ $AESASM_mips64=$AESASM_mips32
+ $AESDEF_mips64=$AESDEF_mips32
+
+ $AESASM_s390x=aes-s390x.S
+ # aes-390x.S implements AES_ctr32_encrypt and AES_xts_[en|de]crypt
+ $AESDEF_s390x=AES_ASM AES_CTR_ASM AES_XTS_ASM
+
+ $AESASM_armv4=aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S
+ $AESDEF_armv4=AES_ASM BSAES_ASM
+ $AESASM_aarch64=aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S
+ $AESDEF_aarch64=VPAES_ASM
+
+ $AESASM_parisc11=aes_core.c aes_cbc.c aes-parisc.s
+ $AESDEF_parisc11=AES_ASM
+ $AESASM_parisc20_64=$AESASM_parisc11
+ $AESDEF_parisc20_64=$AESDEF_parisc11
+
+ $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s
+ $AESDEF_ppc32=AES_ASM VPAES_ASM
+ $AESASM_ppc64=$AESASM_ppc32
+ $AESDEF_ppc64=$AESDEF_ppc32
+
+ $AESASM_c64xplus=aes-c64xplus.s aes_cbc.c
+ # aes-c64xplus.s implements AES_ctr32_encrypt
+ $AESDEF_c64xplus=AES_ASM AES_CTR_ASM
+
+ # Now that we have defined all the arch specific variables, use the
+ # appropriate one, and define the appropriate macros
+ IF[$AESASM_{- $target{asm_arch} -}]
+ $AESASM=$AESASM_{- $target{asm_arch} -}
+ $AESDEF=$AESDEF_{- $target{asm_arch} -}
+ IF[{- !$disabled{sse2} -}]
+ $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2
+ $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2
+ ENDIF
+ ENDIF
+ENDIF
+
+$COMMON=aes_misc.c aes_ecb.c $AESASM
+SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c
+DEFINE[../../libcrypto]=$AESDEF
SOURCE[../../providers/fips]=$COMMON
+DEFINE[../../providers/fips]=$AESDEF
GENERATE[aes-ia64.s]=asm/aes-ia64.S