diff options
-rwxr-xr-x | Configure | 19 | ||||
-rwxr-xr-x | util/perl/OpenSSL/config.pm | 18 |
2 files changed, 18 insertions, 19 deletions
@@ -1166,7 +1166,24 @@ if ($d) { } } -&usage if !$table{$target} || $table{$target}->{template}; +if ($target) { + # It's possible that we have different config targets for specific + # toolchains, so we try to detect them, and go for the plain config + # target if not. + my $found; + foreach ( ( "$target-$user{CC}", "$target", undef ) ) { + $found=$_ if $table{$_} && !$table{$_}->{template}; + last if $found; + } + $target = $found; +} else { + # If we don't have a config target now, we try the C compiler as we + # fallback + my $cc = $user{CC} // 'cc'; + $target = $cc if $table{$cc} && !$table{$cc}->{template}; +} + +&usage unless $target; $config{target} = $target; my %target = resolve_config($target); diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm index 62fc5ce312..5e0372ac2e 100755 --- a/util/perl/OpenSSL/config.pm +++ b/util/perl/OpenSSL/config.pm @@ -867,24 +867,6 @@ EOF return $OUT; } -# Append $CC to the target if that's in the Config list. -sub check_target_exists { - my $OUT = shift; - my %table; - - open T, "$PERL $WHERE/Configure LIST|" or die "Can't get LIST, $!"; - while ( <T> ) { - chop; - $table{$_} = 1; - } - close T; - return "$OUT-$CC" if defined $table{"$OUT-$CC"}; - return "$OUT" if defined $table{$OUT}; - print "This system ($OUT) is not supported. See INSTALL for details.\n"; - exit 1; -} - - ### ### MAIN PROCESSING ### |