summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2023-05-15 10:09:42 +0200
committerPauli <pauli@openssl.org>2023-05-19 10:02:04 +1000
commitd6175dcca746f0996db18ab2b6b37a4152097afe (patch)
treea0344ae7b7e26da68ccbb2008bea6a08fbbfc3ad
parent859521e57970027c2ec763928753a1e5f843cf69 (diff)
Update VMS configurations
A native x86_64 C compiler has appeared. We preserve the previous config target with a new name to indicate that it's for cross compilation, at least for the time being. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20983)
-rw-r--r--Configurations/10-main.conf6
-rw-r--r--Configurations/50-vms-x86_64.conf12
-rwxr-xr-xutil/perl/OpenSSL/config.pm6
3 files changed, 13 insertions, 11 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index c42902cf39..cfa9399eca 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 ef6bd7b62c..edde2629ad 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 02b930a0a7..13d1d60fad 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';