diff options
author | Richard Levitte <levitte@openssl.org> | 2016-01-30 07:14:58 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-02-10 14:36:32 +0100 |
commit | e84193e43dbd3da23845ef9fcfcb5e364049a396 (patch) | |
tree | 05cd92323c3ac2a5ceea773e5a432c41d07c2513 /util/mkdef.pl | |
parent | 9c44c29ef2cadb2f0ff214096ccf731ce2660d64 (diff) | |
download | openssl-new-e84193e43dbd3da23845ef9fcfcb5e364049a396.tar.gz |
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-x | util/mkdef.pl | 33 |
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; |