diff --git a/Makefile.org b/Makefile.org index cfb5756914..4bc777797a 100644 --- a/Makefile.org +++ b/Makefile.org @@ -449,11 +449,14 @@ crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num $(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h +apps/openssl-vms.cnf: apps/openssl.cnf + $(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf + TABLE: Configure (echo 'Output of `Configure TABLE'"':"; \ $(PERL) Configure TABLE) > TABLE -update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h TABLE +update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf TABLE # Build distribution tar-file. As the list of files returned by "find" is # pretty long, on several platforms a "too many arguments" error or similar diff --git a/VMS/VMSify-conf.pl b/VMS/VMSify-conf.pl new file mode 100644 index 0000000000..d3be6a29e7 --- /dev/null +++ b/VMS/VMSify-conf.pl @@ -0,0 +1,34 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +my @directory_vars = ( "dir", "certs", "crl_dir", "new_certs_dir" ); +my @file_vars = ( "database", "certificate", "serial", "crlnumber", + "crl", "private_key", "RANDFILE" ); +while() { + chomp; + foreach my $d (@directory_vars) { + if (/^(\s*\#?\s*${d}\s*=\s*)\.\/([^\s\#]*)([\s\#].*)$/) { + $_ = "$1sys\\\$disk:\[.$2$3"; + } elsif (/^(\s*\#?\s*${d}\s*=\s*)(\w[^\s\#]*)([\s\#].*)$/) { + $_ = "$1sys\\\$disk:\[.$2$3"; + } + s/^(\s*\#?\s*${d}\s*=\s*\$\w+)\/([^\s\#]*)([\s\#].*)$/$1.$2\]$3/; + while(/^(\s*\#?\s*${d}\s*=\s*(\$\w+\.|sys\\\$disk:\[\.)[\w\.]+)\/([^\]]*)\](.*)$/) { + $_ = "$1.$3]$4"; + } + } + foreach my $f (@file_vars) { + s/^(\s*\#?\s*${f}\s*=\s*)\.\/(.*)$/$1sys\\\$disk:\[\/$2/; + while(/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+\/[^\s\#]*)([\s\#].*)$/) { + $_ = "$1.$3$4"; + } + if (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+)([\s\#].*)$/) { + $_ = "$1]$3.$4"; + } elsif (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/([^\s\#]*)([\s\#].*)$/) { + $_ = "$1]$3$4"; + } + } + print $_,"\n"; +}