}
unless ($disabled{asm}) {
- if ($target{keccak1600_asm_src} ne $table{DEFAULTS}->{keccak1600_asm_src}) {
- push @{$config{lib_defines}}, "KECCAK1600_ASM";
- }
- if ($target{wp_asm_src} =~ /mmx/) {
- if ($config{processor} eq "386") {
- $target{wp_asm_src}=$table{DEFAULTS}->{wp_asm_src};
- } elsif (!$disabled{"whirlpool"}) {
- push @{$config{lib_defines}}, "WHIRLPOOL_ASM";
- }
- }
- if ($target{modes_asm_src} =~ /ghash-/) {
- push @{$config{lib_defines}}, "GHASH_ASM";
- }
- 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});
# Deal with bn_ops ###################################################
$config{bn_ll} =0;
-$config{export_var_as_fn} =0;
my $def_int="unsigned int";
$config{rc4_int} =$def_int;
($config{b64l},$config{b64},$config{b32})=(0,0,1);
my $count = 0;
foreach (sort split(/\s+/,$target{bn_ops})) {
$count++ if /SIXTY_FOUR_BIT|SIXTY_FOUR_BIT_LONG|THIRTY_TWO_BIT/;
- $config{export_var_as_fn}=1 if $_ eq 'EXPORT_VAR_AS_FN';
$config{bn_ll}=1 if $_ eq 'BN_LLONG';
$config{rc4_int}="unsigned char" if $_ eq 'RC4_CHAR';
($config{b64l},$config{b64},$config{b32})
# Thus, whenever there's mention of a returned value, it's about that
# intended value.
-# Helper function to implement conditional inheritance depending on the
-# value of $disabled{asm}. Used in inherit_from values as follows:
-#
-# inherit_from => [ "template", asm("asm_tmpl") ]
-#
-sub asm {
- my @x = @_;
- sub {
- $disabled{asm} ? () : @x;
- }
-}
-
# Helper function to implement conditional value variants, with a default
# plus additional values based on the value of $config{build_type}.
# Arguments are given in hash table form:
"includes",
"cc",
"cflags",
- "unistd",
"ld",
"lflags",
"loutflag",
"ex_libs",
"bn_ops",
- "wp_asm_src",
- "cmll_asm_src",
- "modes_asm_src",
- "padlock_asm_src",
- "chacha_asm_src",
"poly1035_asm_src",
"thread_scheme",
"perlasm_scheme",