aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-03-07 20:41:39 +0100
committerRichard Levitte <levitte@openssl.org>2016-03-08 10:48:25 +0100
commitdc3365f729635f68091041c620d6fe75b8327c01 (patch)
tree854fa9cdff307b73aedec9511d2efe3d7fdef12b
parent39b25ee24419713120c2350964737598817dd074 (diff)
downloadopenssl-dc3365f729635f68091041c620d6fe75b8327c01.zip
openssl-dc3365f729635f68091041c620d6fe75b8327c01.tar.gz
openssl-dc3365f729635f68091041c620d6fe75b8327c01.tar.bz2
Add the Configure option --classic, to fall back on classic build schemes
Reviewed-by: Matt Caswell <matt@openssl.org>
-rwxr-xr-xConfigure24
1 files changed, 23 insertions, 1 deletions
diff --git a/Configure b/Configure
index 0e2a599..cfd8be0 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}};