Commit dc3365f7 authored by Richard Levitte's avatar Richard Levitte
Browse files

Add the Configure option --classic, to fall back on classic build schemes

parent 39b25ee2
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -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}};