Disallow --classic for Windows
[openssl.git] / Configure
index 26bbfbfdb14b3f928a259473093b202de7402e72..0972cfe4569b01ba5c3e8bd8b7ff5344c8458d1e 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -233,6 +233,7 @@ my @dtls = qw(dtls1 dtls1_2);
 
 my @disablables = (
     "aes",
+    "afalgeng",
     "asm",
     "async",
     "autoalginit",
@@ -339,7 +340,6 @@ our %disabled = ( # "what"         => "comment"
                  "ssl-trace"           => "default",
                  "ssl3"                => "default",
                  "ssl3-method"         => "default",
-                 "static-engine"       => "default",
                  "unit-test"           => "default",
                  "weak-ssl-ciphers"    => "default",
                  "zlib"                => "default",
@@ -394,6 +394,7 @@ my @disable_cascades = (
     # Without position independent code, there can be no shared libraries or DSOs
     "pic"               => [ "shared" ],
     "shared"            => [ "dynamic-engine" ],
+    "engine"            => [ "afalgeng" ],
     );
 
 # Avoid protocol support holes.  Also disable all versions below N, if version
@@ -900,7 +901,7 @@ if ($target{build_scheme}->[0] eq "unified" && $classic) {
         if $srcdir ne $blddir;
 
     $target{build_scheme} = { unix    => [ "unixmake" ],
-                              windows => [ "mk1mf", $target{build_scheme}->[2] ],
+                              windows => undef,
                               VMS     => undef } -> {$target{build_scheme}->[1]};
 
     die "Classic mode unavailable on this platform\n"
@@ -1193,8 +1194,8 @@ else               { $no_user_defines=1;    }
 
 # ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON
 
-unless ($disabled{engine}) {
-    $config{afalg}="";
+unless ($disabled{afalgeng}) {
+    $config{afalgeng}="";
     if ($target =~ m/^linux/) {
         my $minver = 4*10000 + 1*100 + 0;
         if ($config{cross_compile_prefix} eq "") {
@@ -1203,21 +1204,24 @@ unless ($disabled{engine}) {
             ($mi2) = $mi2 =~ /(\d+)/;
             my $ver = $ma*10000 + $mi1*100 + $mi2;
             if ($ver < $minver) {
-                $disabled{afalg} = "too-old-kernel";
+                $disabled{afalgeng} = "too-old-kernel";
             } else {
                 push @{$config{engdirs}}, "afalg";
             }
+        } else {
+            $disabled{afalgeng} = "cross-compiling";
         }
     } else {
-        $disabled{afalg}  = "not-linux";
+        $disabled{afalgeng}  = "not-linux";
     }
 }
 
-push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalg});
+push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng});
 
 # If we use the unified build, collect information from build.info files
 my %unified_info = ();
 
+my $buildinfo_debug = defined($ENV{CONFIGURE_DEBUG_BUILDINFO});
 if ($builder eq "unified") {
     # Store the name of the template file we will build the build file from
     # in %config.  This may be useful for the build file itself.
@@ -1412,7 +1416,18 @@ if ($builder eq "unified") {
                 }
             },
             qr/^(?:#.*|\s*)$/ => sub { },
-            "OTHERWISE" => sub { die "Something wrong with this line:\n$_\nat $sourced/$f" }
+            "OTHERWISE" => sub { die "Something wrong with this line:\n$_\nat $sourced/$f" },
+            "BEFORE" => sub {
+                if ($buildinfo_debug) {
+                    print STDERR "DEBUG: Parsing ",join(" ", @_),"\n";
+                    print STDERR "DEBUG: ... before parsing, skip stack is ",join(" ", map { int($_) } @skip),"\n";
+                }
+            },
+            "AFTER" => sub {
+                if ($buildinfo_debug) {
+                    print STDERR "DEBUG: .... after parsing, skip stack is ",join(" ", map { int($_) } @skip),"\n";
+                }
+            },
             );
         die "runaway IF?" if (@skip);
 
@@ -2450,8 +2465,11 @@ sub collect_information {
     while(defined($_ = $lineiterator->())) {
         s|\R$||;
         my $found = 0;
+        if ($collectors{"BEFORE"}) {
+            $collectors{"BEFORE"}->($_);
+        }
         foreach my $re (keys %collectors) {
-            if ($re ne "OTHERWISE" && /$re/) {
+            if ($re !~ /^OTHERWISE|BEFORE|AFTER$/ && /$re/) {
                 $collectors{$re}->($lineiterator);
                 $found = 1;
             };
@@ -2460,5 +2478,8 @@ sub collect_information {
             $collectors{"OTHERWISE"}->($lineiterator, $_)
                 unless $found || !defined $collectors{"OTHERWISE"};
         }
+        if ($collectors{"AFTER"}) {
+            $collectors{"AFTER"}->($_);
+        }
     }
 }