From: Richard Levitte Date: Mon, 7 Mar 2016 19:41:39 +0000 (+0100) Subject: Add the Configure option --classic, to fall back on classic build schemes X-Git-Tag: OpenSSL_1_1_0-pre4~262 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=dc3365f729635f68091041c620d6fe75b8327c01;hp=39b25ee24419713120c2350964737598817dd074 Add the Configure option --classic, to fall back on classic build schemes Reviewed-by: Matt Caswell --- diff --git a/Configure b/Configure index 0e2a5995d8..cfd8be0e64 100755 --- a/Configure +++ b/Configure @@ -448,6 +448,8 @@ my $target=""; $config{options}=""; $config{build_type} = "release"; +my $classic = 0; + my @argvcopy=@ARGV; if (grep /^reconf(igure)?$/, @argvcopy) { @@ -631,7 +633,11 @@ foreach (@argvcopy) } elsif (/^[-+]/) { - if (/^--prefix=(.*)$/) + if (/^--classic$/) + { + $classic=1; + } + elsif (/^--prefix=(.*)$/) { $config{prefix}=$1; die "Directory given with --prefix MUST be absolute\n" @@ -886,6 +892,22 @@ $config{shared_ldflag} = ""; $target{build_scheme} = [ $target{build_scheme} ] if ref($target{build_scheme}) ne "ARRAY"; +###### TO BE REMOVED WHEN CLASSIC BUILD IS REMOVED +###### +###### If the user has chosen --classic, we give it to them. +###### If they try that with an out-of-source config, we complain. +if ($target{build_scheme}->[0] eq "unified" && $classic) { + die "Can't perform a classic build out of source tree\n" + if $srcdir ne $blddir; + + $target{build_scheme} = { unix => [ "unixmake" ], + windows => [ "mk1mf", $target{build_scheme}->[2] ], + VMS => undef } -> {$target{build_scheme}->[1]}; + + die "Classic mode unavailable on this platform\n" + unless defined($target{build_scheme}); +} + my ($builder, $builder_platform, @builder_opts) = @{$target{build_scheme}};