OpenSSL::config: Fix trivial bugs

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19285)
This commit is contained in:
Richard Levitte 2022-09-27 18:51:57 +02:00 committed by Hugo Landau
parent e63f5fdcb2
commit 2ba5bffa26
1 changed files with 6 additions and 2 deletions

View File

@ -15,6 +15,7 @@ use strict;
use warnings; use warnings;
use Getopt::Std; use Getopt::Std;
use File::Basename; use File::Basename;
use File::Spec;
use IPC::Cmd; use IPC::Cmd;
use POSIX; use POSIX;
use Config; use Config;
@ -51,12 +52,15 @@ my @c_compilers = qw(clang gcc cc);
my @cc_version = my @cc_version =
( (
clang => sub { clang => sub {
return undef unless IPC::Cmd::can_run("$CROSS_COMPILE$CC");
my $v = `$CROSS_COMPILE$CC -v 2>&1`; my $v = `$CROSS_COMPILE$CC -v 2>&1`;
$v =~ m/(?:(?:clang|LLVM) version|.*based on LLVM)\s+([0-9]+\.[0-9]+)/; $v =~ m/(?:(?:clang|LLVM) version|.*based on LLVM)\s+([0-9]+\.[0-9]+)/;
return $1; return $1;
}, },
gnu => sub { gnu => sub {
my $v = `$CROSS_COMPILE$CC -dumpversion 2>/dev/null`; return undef unless IPC::Cmd::can_run("$CROSS_COMPILE$CC");
my $nul = File::Spec->devnull();
my $v = `$CROSS_COMPILE$CC -dumpversion 2> $nul`;
# Strip off whatever prefix egcs prepends the number with. # Strip off whatever prefix egcs prepends the number with.
# Hopefully, this will work for any future prefixes as well. # Hopefully, this will work for any future prefixes as well.
$v =~ s/^[a-zA-Z]*\-//; $v =~ s/^[a-zA-Z]*\-//;
@ -903,7 +907,7 @@ EOF
} else { } else {
$config{disable} = [ 'asm' ]; $config{disable} = [ 'asm' ];
} }
return %config; return { %config };
} }
], ],