diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index c42902cf39f08..cfa9399eca7ea 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -2079,5 +2079,9 @@ my %targets = ( cflags => add("/POINTER_SIZE=64=ARGV"), pointer_size => "64", }, - + "vms-x86_64" => { + inherit_from => [ "vms-generic" ], + bn_ops => "SIXTY_FOUR_BIT", + pointer_size => "", + } ); diff --git a/Configurations/50-vms-x86_64.conf b/Configurations/50-vms-x86_64.conf index ef6bd7b62c36a..edde2629ade09 100644 --- a/Configurations/50-vms-x86_64.conf +++ b/Configurations/50-vms-x86_64.conf @@ -1,16 +1,10 @@ ## -*- mode: perl; -*- -# OpenVMS for x86_64 is currently out on a field test. A native C compiler -# is currently not available, but there are cross-compilation tools for -# OpenVMS for Itanium. This configuration file holds the necessary target(s) -# to make that useful. -# -# The assumption is that *building* is done on Itanium, and then the source -# tree and build tree are transferred to x86_64, where tests can be performed, -# and installation can be done. +# OpenVMS cross compilation of x86_64 binaries on Itanium. This doesn't +# fit the usual cross compilation parameters that are used on Unixly machines ( - 'vms-x86_64' => { + 'vms-x86_64-cross-ia64' => { inherit_from => [ 'vms-generic' ], CC => 'XCC', bn_ops => 'SIXTY_FOUR_BIT', diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm index 02b930a0a7e6b..13d1d60fad5c1 100755 --- a/util/perl/OpenSSL/config.pm +++ b/util/perl/OpenSSL/config.pm @@ -354,8 +354,12 @@ sub determine_compiler_settings { if ( $SYSTEM eq 'OpenVMS' ) { my $v = `CC/VERSION NLA0:`; if ($? == 0) { + # The normal releases have a version number prefixed with a V. + # However, other letters have been seen as well (for example X), + # and it's documented that HP (now VSI) reserve the letter W, X, + # Y and Z for their own uses. my ($vendor, $version) = - ( $v =~ m/^([A-Z]+) C V([0-9\.-]+) on / ); + ( $v =~ m/^([A-Z]+) C [VWXYZ]([0-9\.-]+)(:? +\(.*?\))? on / ); my ($major, $minor, $patch) = ( $version =~ m/^([0-9]+)\.([0-9]+)-0*?(0|[1-9][0-9]*)$/ ); $CC = 'CC';