summaryrefslogtreecommitdiffstats
path: root/util/mkdef.pl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-01-30 07:14:58 +0100
committerRichard Levitte <levitte@openssl.org>2016-02-10 14:36:32 +0100
commite84193e43dbd3da23845ef9fcfcb5e364049a396 (patch)
tree05cd92323c3ac2a5ceea773e5a432c41d07c2513 /util/mkdef.pl
parent9c44c29ef2cadb2f0ff214096ccf731ce2660d64 (diff)
unified build scheme: add a "unified" template for VMS descrip.mms
As part of this, change util/mkdef.pl to stop adding libraries to depend on in its output. mkdef.pl should ONLY output a symbol vector. Because symbol names can't be longer than 31 characters, we use the compiler to shorten those that are longer down to 23 characters plus an 8 character CRC. To make sure users of our header files will pick up on that automatically, add the DEC C supported extra headers files __decc_include_prologue.h and __decc_include_epilogue.h. Furthermore, we add a config.com, so VMS people can configure just as comfortably as any Unix folks, thusly: @config Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'util/mkdef.pl')
-rwxr-xr-xutil/mkdef.pl33
1 files changed, 15 insertions, 18 deletions
diff --git a/util/mkdef.pl b/util/mkdef.pl
index ff68d86ecc..aa85ec8251 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -1225,12 +1225,8 @@ EOF
}
elsif ($VMS)
{
- my $libref = $name eq "ssl" ? "LIBCRYPTO.EXE /SHARE" : "";
print OUT <<"EOF";
-IDENTIFICATION="V$version"
CASE_SENSITIVE=YES
-LIB$libname.OLB /LIBRARY
-$libref
SYMBOL_VECTOR=(-
EOF
$symvtextcount = 16; # length of "SYMBOL_VECTOR=(-"
@@ -1297,34 +1293,35 @@ EOF
print OUT " $s2;\n";
} elsif ($VMS) {
while(++$prevnum < $n) {
- my $symline="SPARE, SPARE -";
- if ($symvtextcount + length($symline) + 1 > 1024) {
+ my $symline=" ,SPARE -\n ,SPARE -\n";
+ if ($symvtextcount + length($symline) - 2 > 1024) {
print OUT ")\nSYMBOL_VECTOR=(-\n";
$symvtextcount = 16; # length of "SYMBOL_VECTOR=(-"
}
- if ($symvtextcount > 16) {
- $symline = ",".$symline;
+ if ($symvtextcount == 16) {
+ # Take away first comma
+ $symline =~ s/,//;
}
- print OUT " $symline\n";
- $symvtextcount += length($symline);
+ print OUT $symline;
+ $symvtextcount += length($symline) - 2;
}
(my $s_uc = $s) =~ tr/a-z/A-Z/;
my $symtype=
$v ? "DATA" : "PROCEDURE";
my $symline=
($s_uc ne $s
- ? "$s_uc/$s=$symtype, $s=$symtype"
- : "$s=$symtype, SPARE")
- ." -";
- if ($symvtextcount + length($symline) + 1 > 1024) {
+ ? " ,$s_uc/$s=$symtype -\n ,$s=$symtype -\n"
+ : " ,$s=$symtype -\n ,SPARE -\n");
+ if ($symvtextcount + length($symline) - 2 > 1024) {
print OUT ")\nSYMBOL_VECTOR=(-\n";
$symvtextcount = 16; # length of "SYMBOL_VECTOR=(-"
}
- if ($symvtextcount > 16) {
- $symline = ",".$symline;
+ if ($symvtextcount == 16) {
+ # Take away first comma
+ $symline =~ s/,//;
}
- print OUT " $symline\n";
- $symvtextcount += length($symline);
+ print OUT $symline;
+ $symvtextcount += length($symline) - 2;
} elsif($v && !$OS2) {
printf OUT " %s%-39s @%-8d DATA\n",
($W32)?"":"_",$s2,$n;