Skip to content

Commit

Permalink
Update VMS configurations
Browse files Browse the repository at this point in the history
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 #20983)

(cherry picked from commit d6175dc)
  • Loading branch information
levitte committed May 22, 2023
1 parent b0973c1 commit b93c2d3
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
6 changes: 5 additions & 1 deletion Configurations/10-main.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2011,5 +2011,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 => "",
}
);
12 changes: 3 additions & 9 deletions Configurations/50-vms-x86_64.conf
Original file line number Diff line number Diff line change
@@ -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',
Expand Down
6 changes: 5 additions & 1 deletion util/perl/OpenSSL/config.pm
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down

0 comments on commit b93c2d3

Please sign in to comment.