@ -7,7 +7,6 @@
# https://www.openssl.org/source/license.html
my $ config = "crypto/err/openssl.ec" ;
my $ hprefix = "openssl/" ;
my $ debug = 0 ;
my $ unref = 0 ;
my $ rebuild = 0 ;
@ -70,6 +69,8 @@ Options:
- hprefix P Prepend the filenames in generated #include <header>
statements with prefix P . Default: 'openssl/' ( without
the quotes , naturally )
NOTE: not used any more because our include directory
structure has changed .
- debug Turn on debugging verbose output on stderr .
@ -173,8 +174,8 @@ close IN;
while ( ( $ hdr , $ lib ) = each % libinc )
{
next if ( $ hdr eq "NONE" ) ;
print STDERR "Scanning header file $hdr\n" if $ debug ;
my $ line = "" , $ def = "" , $ linenr = 0 , $ gotfile = 0 ;
print STDERR "Scanning header file $hdr\n" if $ debug ;
my $ line = "" , $ def = "" , $ linenr = 0 , $ gotfile = 0 , $ cpp = 0 ;
if ( open ( IN , "<$hdr" ) ) {
$ gotfile = 1 ;
while ( <IN> ) {
@ -409,14 +410,21 @@ foreach $lib (keys %csrc)
# Rewrite the header file
$ cpp = 0 ;
$ cplusplus = 0 ;
if ( open ( IN , "<$hfile" ) ) {
# Copy across the old file
while ( <IN> ) {
$ cplusplus = $ cpp if /^#.*ifdef.*cplusplus/ ;
$ cpp + + if /^#\s*if/ ;
$ cpp - - if /^#\s*endif/ ;
push @ out , $ _ ;
last if ( /BEGIN ERROR CODES/ ) ;
}
close IN ;
} else {
$ cpp = 1 ;
$ cplusplus = 1 ;
push @ out ,
"/*\n" ,
" * Copyright 1995-$YEAR The OpenSSL Project Authors. All Rights Reserved.\n" ,
@ -428,11 +436,11 @@ foreach $lib (keys %csrc)
" */\n" ,
"\n" ,
"#ifndef HEADER_${lib}_ERR_H\n" ,
"#define HEADER_${lib}_ERR_H\n" ,
"# define HEADER_${lib}_ERR_H\n" ,
"\n" ,
"#ifdef __cplusplus\n" ,
"# ifdef __cplusplus\n" ,
"extern \"C\" {\n" ,
"#endif\n" ,
"# endif\n" ,
"\n" ,
"/* BEGIN ERROR CODES */\n" ;
}
@ -441,15 +449,16 @@ foreach $lib (keys %csrc)
print OUT @ out ;
undef @ out ;
print OUT << "EOF" ;
/ *
* Content after this point is generated by util / mkerr . pl
* DO NOT EDIT !
* The following lines are auto generated by the script mkerr . pl . Any changes
* made after this point may be overwritten when the script is next run .
* /
EOF
if ( $ static ) {
print OUT << "EOF" ;
$ { staticloader } void ERR_load_ $ { lib } _strings ( void ) ;
EOF
} else {
print OUT << "EOF" ;
@ -505,11 +514,17 @@ EOF
}
print OUT << "EOF" ;
#ifdef __cplusplus
}
#endif
#endif
EOF
do {
if ( $ cplusplus == $ cpp ) {
print OUT "#" , " " x $ cpp , "ifdef __cplusplus\n" ;
print OUT "}\n" ;
print OUT "#" , " " x $ cpp , "endif\n" ;
}
if ( $ cpp - - > 0 ) {
print OUT "#" , " " x $ cpp , "endif\n" ;
}
} while ( $ cpp ) ;
close OUT ;
# Rewrite the C source file containing the error details.
@ -541,8 +556,13 @@ EOF
my $ hincf ;
if ( $ static ) {
$ hfile =~ /([^\/]+)$/ ;
$ hincf = "<${hprefix}$1>" ;
$ hincf = $ hfile ;
$ hincf =~ s | . * include / || ;
if ( $ hincf =~ m | ^ openssl / | ) {
$ hincf = "<${hincf}>" ;
} else {
$ hincf = "\"${hincf}\"" ;
}
} else {
$ hincf = "\"$hfile\"" ;
}
@ -596,7 +616,7 @@ EOF
$ fn = $ ftrans { $ fn } ;
}
# print OUT "{ERR_PACK($pack_errcode,$i,0),\t\"$fn\"},\n";
if ( length ( $ i ) + length ( $ fn ) > 58 ) {
if ( length ( $ i ) + length ( $ fn ) > 57 ) {
print OUT " {ERR_FUNC($i),\n \"$fn\"},\n" ;
} else {
print OUT " {ERR_FUNC($i), \"$fn\"},\n" ;
@ -619,7 +639,7 @@ EOF
$ rn = $ 1 ;
$ rn =~ tr /_[A-Z]/ [ a - z ] / ;
}
if ( length ( $ i ) + length ( $ rn ) > 56 ) {
if ( length ( $ i ) + length ( $ rn ) > 55 ) {
print OUT " {${rstr},\n \"$rn\"},\n" ;
} else {
print OUT " {${rstr}, \"$rn\"},\n" ;