summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xConfigure19
-rwxr-xr-xutil/perl/OpenSSL/config.pm18
2 files changed, 18 insertions, 19 deletions
diff --git a/Configure b/Configure
index a0b9c22b6d..a56e085adb 100755
--- a/Configure
+++ b/Configure
@@ -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
###