"zlib" => [ "zlib-dynamic" ],
"des" => [ "mdc2" ],
"ec" => [ "ecdsa", "ecdh", "sm2" ],
-
+ sub { $disabled{"ec"} && $disabled{"dh"} }
+ => [ "tls1_3" ],
"dgram" => [ "dtls", "sctp" ],
"sock" => [ "dgram" ],
"dtls" => [ @dtls ],
delete $disabled{$feature};
}
}
+
+# If uplink_arch isn't defined, disable uplink
+$disabled{uplink} = 'no uplink_arch' unless (defined $target{uplink_arch});
+# If asm_arch isn't defined, disable asm
+$disabled{asm} = 'no asm_arch' unless (defined $target{asm_arch});
+
disable(); # Run a cascade now
$target{CXXFLAGS}//=$target{CFLAGS} if $target{CXX};
}
unless ($disabled{asm}) {
- $target{cpuid_asm_src}=$table{DEFAULTS}->{cpuid_asm_src} if ($config{processor} eq "386");
- if ($target{cpuid_asm_src} ne "mem_clr.c") {
- push @{$config{lib_defines}}, "OPENSSL_CPUID_OBJ";
- push @{$config{module_defines}}, "OPENSSL_CPUID_OBJ";
- }
-
- $target{bn_asm_src} =~ s/\w+-gf2m.c// if (defined($disabled{ec2m}));
-
- # bn-586 is the only one implementing bn_*_part_words
- if ($target{bn_asm_src} =~ /bn-586/) {
- push @{$config{lib_defines}}, "OPENSSL_BN_ASM_PART_WORDS";
- push @{$config{module_defines}}, "OPENSSL_BN_ASM_PART_WORDS";
- }
- if (!$disabled{sse2} && $target{bn_asm_src} =~ /86/) {
- push @{$config{lib_defines}}, "OPENSSL_IA32_SSE2";
- push @{$config{module_defines}}, "OPENSSL_IA32_SSE2";
- }
-
- if ($target{bn_asm_src} =~ /-mont/) {
- push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT";
- push @{$config{module_defines}}, "OPENSSL_BN_ASM_MONT";
- }
- if ($target{bn_asm_src} =~ /-mont5/) {
- push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT5";
- push @{$config{module_defines}}, "OPENSSL_BN_ASM_MONT5";
- }
- if ($target{bn_asm_src} =~ /-gf2m/) {
- push @{$config{lib_defines}}, "OPENSSL_BN_ASM_GF2m";
- push @{$config{module_defines}}, "OPENSSL_BN_ASM_GF2m";
- }
- if ($target{bn_asm_src} =~ /-div3w/) {
- push @{$config{lib_defines}}, "BN_DIV3W";
- push @{$config{module_defines}}, "BN_DIV3W";
- }
-
if ($target{sha1_asm_src}) {
push @{$config{lib_defines}}, "SHA1_ASM" if ($target{sha1_asm_src} =~ /sx86/ || $target{sha1_asm_src} =~ /sha1/);
push @{$config{lib_defines}}, "SHA256_ASM" if ($target{sha1_asm_src} =~ /sha256/);
qr/^\s*IF\[((?:\\.|[^\\\]])*)\]\s*$/
=> sub {
if (! @skip || $skip[$#skip] > 0) {
- push @skip, !! $1;
+ push @skip, !! $expand_variables->($1);
} else {
push @skip, -1;
}
=> sub { die "ELSIF out of scope" if ! @skip;
die "ELSIF following ELSE" if abs($skip[$#skip]) == 2;
$skip[$#skip] = -1 if $skip[$#skip] != 0;
- $skip[$#skip] = !! $1
+ $skip[$#skip] = !! $expand_variables->($1)
if $skip[$#skip] == 0; },
qr/^\s*ELSE\s*$/
=> sub { die "ELSE out of scope" if ! @skip;
qr/^\s*${variable_re}\s*=\s*(.*?)\s*$/
=> sub {
if (!@skip || $skip[$#skip] > 0) {
- $variables{$1} = $2;
+ my $n = $1;
+ my $v = $2;
+ $variables{$n} = $expand_variables->($v);
}
},
qr/^\s*SUBDIRS\s*=\s*(.*)\s*$/
"loutflag",
"ex_libs",
"bn_ops",
- "apps_aux_src",
- "cpuid_asm_src",
- "uplink_aux_src",
- "bn_asm_src",
"ec_asm_src",
"des_asm_src",
"aes_asm_src",