diff options
author | Richard Levitte <levitte@openssl.org> | 2022-09-27 18:57:35 +0200 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2022-09-29 12:59:00 +0100 |
commit | e63f5fdcb2658961f29fe7bed7968c0dcf7328a7 (patch) | |
tree | d18706c83a143c3a69c7765609d794a46e48ebbb /util | |
parent | 0747f94b5f7b7f07f21384507ba1adaea6f99e88 (diff) | |
download | openssl-new-e63f5fdcb2658961f29fe7bed7968c0dcf7328a7.tar.gz |
OpenSSL::config: Fix VMS guesses
The MACHINE value from POSIX::uname() isn't trustworthy at all.
MACHINE names like this has been seen:
_HP__VMM___(1.67GHz/9.0MB)
Perl's `$Config{archname}` is much more trustworthy, especially since
VMS isn't a multiarch operating system, at least yet.
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19285)
Diffstat (limited to 'util')
-rwxr-xr-x | util/perl/OpenSSL/config.pm | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm index fb8fb115b3..1c6f0f694b 100755 --- a/util/perl/OpenSSL/config.pm +++ b/util/perl/OpenSSL/config.pm @@ -17,6 +17,7 @@ use Getopt::Std; use File::Basename; use IPC::Cmd; use POSIX; +use Config; use Carp; # These control our behavior. @@ -160,6 +161,12 @@ my $guess_patterns = [ [ 'CYGWIN.*', '${MACHINE}-pc-cygwin' ], [ 'vxworks.*', '${MACHINE}-whatever-vxworks' ], + # The MACHINE part of the array POSIX::uname() returns on VMS isn't + # worth the bits wasted on it. It's better, then, to rely on perl's + # %Config, which has a trustworthy item 'archname', especially since + # VMS installation aren't multiarch (yet) + [ 'OpenVMS:.*', "$Config{archname}-whatever-OpenVMS" ], + # Note: there's also NEO and NSR, but they are old and unsupported [ 'NONSTOP_KERNEL:.*:NSE-.*?', 'nse-tandem-nsk${RELEASE}' ], [ 'NONSTOP_KERNEL:.*:NSV-.*?', 'nsv-tandem-nsk${RELEASE}' ], @@ -930,12 +937,9 @@ _____ ], # VMS values found by observation on existing machinery. - # Unfortunately, the machine part is a bit... overdone. It seems, - # though, that 'Alpha' exists in that part for Alphas, making it - # distinguishable from Itanium. It will be interesting to see what - # we'll get in the upcoming x86_64 port... - [ '.*Alpha.*?-.*?-OpenVMS', { target => 'vms-alpha' } ], - [ '.*?-.*?-OpenVMS', { target => 'vms-ia64' } ], + [ 'VMS_AXP-.*?-OpenVMS', { target => 'vms-alpha' } ], + [ 'VMS_IA64-.*?-OpenVMS', { target => 'vms-ia64' } ], + [ 'VMS_x86_64-.*?-OpenVMS', { target => 'vms-x86_64' } ], # TODO: There are a few more choices among OpenSSL config targets, but # reaching them involves a bit more than just a host tripet. Select |