}
}
-&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);
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
###