In OPENSSL_init_ssl(), run the base ssl init before OPENSSL_init_crypto()
[openssl.git] / Configure
index 6f2aee38cae08102ce7a2df7595ba21f387114ab..26904930163c9b4bc2bef5deeebb791a94f6920a 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -211,6 +211,8 @@ $config{builddir} = abs2rel($blddir);
 my @argvcopy=@ARGV;
 
 if (grep /^reconf(igure)?$/, @argvcopy) {
+    die "reconfiguring with other arguments present isn't supported"
+        if scalar @argvcopy > 1;
     if (-f "./configdata.pm") {
        my $file = "./configdata.pm";
        unless (my $return = do $file) {
@@ -538,6 +540,14 @@ my @seed_sources = ();
 while (@argvcopy)
        {
        $_ = shift @argvcopy;
+
+       # Support env variable assignments among the options
+       if (m|^(\w+)=(.+)?$|)
+               {
+               $config{perlenv}->{$1} = $2;
+               next;
+               }
+
        # VMS is a case insensitive environment, and depending on settings
        # out of our control, we may receive options uppercased.  Let's
        # downcase at least the part before any equal sign.
@@ -2529,8 +2539,12 @@ sub env
 {
     my $name = shift;
 
-    return $config{perlenv}->{$name} if exists $config{perlenv}->{$name};
-    $config{perlenv}->{$name} = $ENV{$name};
+    # Note that if $ENV{$name} doesn't exist or is undefined,
+    # $config{perlenv}->{$name} will be created with the value
+    # undef.  This is intentional.
+
+    $config{perlenv}->{$name} = $ENV{$name}
+        if ! exists $config{perlenv}->{$name};
     return $config{perlenv}->{$name};
 }