Move poly1305_asm_src file information to build.info files
[openssl.git] / Configure
index c3f4f99ba6db11d35f665735f024347cceca452a..7ec44a3c2bcf03a2158fd6076d7e9e0373000c18 100755 (executable)
--- 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,12 @@ 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});
@@ -1881,7 +1792,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 +1801,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 +1813,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*$/
@@ -3425,25 +3338,7 @@ sub print_table_entry
         "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",