thread_defines => [],
padlock_asm_src => "",
- chacha_asm_src => "chacha_enc.c",
poly1305_asm_src => "",
keccak1600_asm_src => "keccak1600.c",
x86_asm => {
template => 1,
padlock_asm_src => "e_padlock-x86.s",
- chacha_asm_src => "chacha-x86.s",
poly1305_asm_src=> "poly1305-x86.s",
},
x86_elf_asm => {
x86_64_asm => {
template => 1,
padlock_asm_src => "e_padlock-x86_64.s",
- chacha_asm_src => "chacha-x86_64.s",
poly1305_asm_src=> "poly1305-x86_64.s",
keccak1600_asm_src => "keccak1600-x86_64.s",
},
ia64_asm => {
template => 1,
- chacha_asm_src => "chacha-ia64.S",
poly1305_asm_src=> "asm/poly1305-ia64.S",
},
sparcv9_asm => {
},
s390x_asm => {
template => 1,
- chacha_asm_src => "chacha-s390x.S",
poly1305_asm_src=> "poly1305-s390x.S",
keccak1600_asm_src => "keccak1600-s390x.S",
},
armv4_asm => {
template => 1,
- chacha_asm_src => "chacha-armv4.S",
poly1305_asm_src=> "poly1305-armv4.S",
keccak1600_asm_src => "keccak1600-armv4.S",
},
aarch64_asm => {
template => 1,
- chacha_asm_src => "chacha-armv8.S",
poly1305_asm_src=> "poly1305-armv8.S",
keccak1600_asm_src => "keccak1600-armv8.S",
},
},
ppc32_asm => {
template => 1,
- chacha_asm_src => "chacha-ppc.s",
poly1305_asm_src=> "poly1305-ppc.s poly1305-ppcfp.s",
},
ppc64_asm => {
cppflags => combine("-DOPENSSL_SMALL_FOOTPRINT",
threads("-D_REENTRANT")),
bn_ops => "BN_LLONG",
- chacha_asm_src => "chacha-c64xplus.s",
poly1305_asm_src => "poly1305-c64xplus.s",
thread_scheme => "pthreads",
asm_arch => 'c64xplus',
LIBS=../../libcrypto
-SOURCE[../../libcrypto]={- $target{chacha_asm_src} -}
+
+$CHACHAASM=chacha_enc.c
+IF[{- !$disabled{asm} -}]
+ $CHACHAASM_x86=chacha-x86.s
+ $CHACHAASM_x86_64=chacha-x86_64.s
+
+ $CHACHAASM_ia64=chacha-ia64.S
+
+ $CHACHAASM_s390x=chacha-s390x.S
+
+ $CHACHAASM_armv4=chacha-armv4.S
+ $CHACHAASM_aarch64=chacha-armv8.S
+
+ $CHACHAASM_ppc32=chacha-ppc.s
+ $CHACHAASM_ppc64=$CHACHAASM_ppc32
+
+ $CHACHAASM_c64xplus=chacha-c64xplus.s
+
+ # Now that we have defined all the arch specific variables, use the
+ # appropriate one
+ IF[$CHACHAASM_{- $target{asm_arch} -}]
+ $CHACHAASM=$CHACHAASM_{- $target{asm_arch} -}
+ ENDIF
+ENDIF
+
+SOURCE[../../libcrypto]=$CHACHAASM
GENERATE[chacha-x86.s]=asm/chacha-x86.pl \
$(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR)