thread_defines => [],
padlock_asm_src => "",
- poly1305_asm_src => "",
keccak1600_asm_src => "keccak1600.c",
unistd => "<unistd.h>",
x86_asm => {
template => 1,
padlock_asm_src => "e_padlock-x86.s",
- poly1305_asm_src=> "poly1305-x86.s",
},
x86_elf_asm => {
template => 1,
x86_64_asm => {
template => 1,
padlock_asm_src => "e_padlock-x86_64.s",
- poly1305_asm_src=> "poly1305-x86_64.s",
keccak1600_asm_src => "keccak1600-x86_64.s",
},
ia64_asm => {
template => 1,
- poly1305_asm_src=> "asm/poly1305-ia64.S",
},
sparcv9_asm => {
template => 1,
- poly1305_asm_src=> "poly1305-sparcv9.S",
},
sparcv8_asm => {
template => 1,
mips64_asm => {
inherit_from => [ "mips32_asm" ],
template => 1,
- poly1305_asm_src=> "poly1305-mips.S",
},
s390x_asm => {
template => 1,
- poly1305_asm_src=> "poly1305-s390x.S",
keccak1600_asm_src => "keccak1600-s390x.S",
},
armv4_asm => {
template => 1,
- poly1305_asm_src=> "poly1305-armv4.S",
keccak1600_asm_src => "keccak1600-armv4.S",
},
aarch64_asm => {
template => 1,
- poly1305_asm_src=> "poly1305-armv8.S",
keccak1600_asm_src => "keccak1600-armv8.S",
},
parisc11_asm => {
},
ppc32_asm => {
template => 1,
- poly1305_asm_src=> "poly1305-ppc.s poly1305-ppcfp.s",
},
ppc64_asm => {
inherit_from => [ "ppc32_asm" ],
cppflags => combine("-DOPENSSL_SMALL_FOOTPRINT",
threads("-D_REENTRANT")),
bn_ops => "BN_LLONG",
- poly1305_asm_src => "poly1305-c64xplus.s",
thread_scheme => "pthreads",
asm_arch => 'c64xplus',
perlasm_scheme => "void",
if ($target{padlock_asm_src} ne $table{DEFAULTS}->{padlock_asm_src}) {
push @{$config{dso_defines}}, "PADLOCK_ASM";
}
- if ($target{poly1305_asm_src} ne "") {
- push @{$config{lib_defines}}, "POLY1305_ASM";
- }
}
my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC});
LIBS=../../libcrypto
-SOURCE[../../libcrypto]=\
- poly1305_ameth.c \
- poly1305_meth.c \
- poly1305.c {- $target{poly1305_asm_src} -}
+
+$POLY1305ASM=
+IF[{- !$disabled{asm} -}]
+ $POLY1305ASM_x86=poly1305-x86.s
+ $POLY1305ASM_x86_64=poly1305-x86_64.s
+
+ $POLY1305ASM_ia64=asm/poly1305-ia64.S
+
+ $POLY1305ASM_sparcv9=poly1305-sparcv9.S
+
+ $POLY1305ASM_mips64=poly1305-mips.S
+
+ $POLY1305ASM_s390x=poly1305-s390x.S
+
+ $POLY1305ASM_armv4=poly1305-armv4.S
+ $POLY1305ASM_aarch64=poly1305-armv8.S
+
+ $POLY1305ASM_ppc32=poly1305-ppc.s poly1305-ppcfp.s
+ $POLY1305ASM_ppc64=$POLY1305ASM_ppc32
+
+ $POLY1305ASM_c64xplus=poly1305-c64xplus.s
+
+ # Now that we have defined all the arch specific variables, use the
+ # appropriate one, and define the appropriate macros
+ IF[$POLY1305ASM_{- $target{asm_arch} -}]
+ $POLY1305ASM=$POLY1305ASM_{- $target{asm_arch} -}
+ $POLY1305DEF=POLY1305_ASM
+ ENDIF
+ENDIF
+
+SOURCE[../../libcrypto]=poly1305_ameth.c poly1305_meth.c poly1305.c $POLY1305ASM
+DEFINE[../../libcrypto]=$POLY1305DEF
GENERATE[poly1305-sparcv9.S]=asm/poly1305-sparcv9.pl $(PERLASM_SCHEME)
INCLUDE[poly1305-sparcv9.o]=..