X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Configure;h=30f9e61a7c19e01fb8026e7ca7513e781948b8ca;hp=c3f4f99ba6db11d35f665735f024347cceca452a;hb=53890ea27c8f8492dc31639bccc29968ee0bd5e9;hpb=65dc5c3cc10af7c6f24ecd922adb7b6d17a9fe65 diff --git a/Configure b/Configure index c3f4f99ba6..30f9e61a7c 100755 --- a/Configure +++ b/Configure @@ -1135,6 +1135,12 @@ foreach my $feature (@{$target{enable}}) { 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}; @@ -1398,107 +1404,6 @@ if ($target{sys_id} ne "") } 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/); - push @{$config{lib_defines}}, "SHA512_ASM" if ($target{sha1_asm_src} =~ /sha512/); - } - if ($target{keccak1600_asm_src} ne $table{DEFAULTS}->{keccak1600_asm_src}) { - push @{$config{lib_defines}}, "KECCAK1600_ASM"; - } - if ($target{rc4_asm_src} ne $table{DEFAULTS}->{rc4_asm_src}) { - push @{$config{lib_defines}}, "RC4_ASM"; - } - if ($target{md5_asm_src}) { - push @{$config{lib_defines}}, "MD5_ASM"; - } - $target{cast_asm_src}=$table{DEFAULTS}->{cast_asm_src} unless $disabled{pic}; # CAST assembler is not PIC - if ($target{rmd160_asm_src}) { - push @{$config{lib_defines}}, "RMD160_ASM"; - } - if ($target{aes_asm_src}) { - if ($target{aes_asm_src} =~ m/\baes-/) { - push @{$config{lib_defines}}, "AES_ASM"; - push @{$config{module_defines}}, "AES_ASM"; - } - # aes-ctr.fake is not a real file, only indication that assembler - # module implements AES_ctr32_encrypt... - if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//) { - push @{$config{lib_defines}}, "AES_CTR_ASM"; - push @{$config{module_defines}}, "AES_CTR_ASM"; - } - # aes-xts.fake indicates presence of AES_xts_[en|de]crypt... - if ($target{aes_asm_src} =~ s/\s*aes-xts\.fake//) { - push @{$config{lib_defines}}, "AES_XTS_ASM"; - push @{$config{module_defines}}, "AES_XTS_ASM"; - } - $target{aes_asm_src} =~ s/\s*(vpaes|aesni)-x86\.s//g if ($disabled{sse2}); - if ($target{aes_asm_src} =~ m/vpaes/) { - push @{$config{lib_defines}}, "VPAES_ASM"; - push @{$config{module_defines}}, "VPAES_ASM"; - } - if ($target{aes_asm_src} =~ m/bsaes/) { - push @{$config{lib_defines}}, "BSAES_ASM"; - push @{$config{module_defines}}, "BSAES_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{ec_asm_src} =~ /ecp_nistz256/) { - push @{$config{lib_defines}}, "ECP_NISTZ256_ASM"; - } - if ($target{ec_asm_src} =~ /x25519/) { - push @{$config{lib_defines}}, "X25519_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}); @@ -1551,7 +1456,6 @@ if (!$disabled{asm} && !$predefined_C{__MACH__} && $^O ne 'VMS') { # 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); @@ -1559,7 +1463,6 @@ $config{rc4_int} =$def_int; 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}) @@ -1881,7 +1784,7 @@ if ($builder eq "unified") { qr/^\s*IF\[((?:\\.|[^\\\]])*)\]\s*$/ => sub { if (! @skip || $skip[$#skip] > 0) { - push @skip, !! $1; + push @skip, !! $expand_variables->($1); } else { push @skip, -1; } @@ -1890,7 +1793,7 @@ if ($builder eq "unified") { => 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; @@ -1902,7 +1805,9 @@ if ($builder eq "unified") { 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*$/ @@ -2987,18 +2892,6 @@ _____ # 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: @@ -3419,31 +3312,11 @@ sub print_table_entry "includes", "cc", "cflags", - "unistd", "ld", "lflags", "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", - "bf_asm_src", - "md5_asm_src", - "cast_asm_src", - "sha1_asm_src", - "rc4_asm_src", - "rmd160_asm_src", - "rc5_asm_src", - "wp_asm_src", - "cmll_asm_src", - "modes_asm_src", - "padlock_asm_src", - "chacha_asm_src", "poly1035_asm_src", "thread_scheme", "perlasm_scheme",