| Index: openssl/util/mksdef.pl
|
| ===================================================================
|
| --- openssl/util/mksdef.pl (revision 105093)
|
| +++ openssl/util/mksdef.pl (working copy)
|
| @@ -1,87 +0,0 @@
|
| -
|
| -# Perl script to split libeay32.def into two distinct DEF files for use in
|
| -# fipdso mode. It works out symbols in each case by running "link" command and
|
| -# parsing the output to find the list of missing symbols then splitting
|
| -# libeay32.def based on the result.
|
| -
|
| -
|
| -# Get list of unknown symbols
|
| -
|
| -my @deferr = `link @ARGV`;
|
| -
|
| -my $preamble = "";
|
| -my @fipsdll;
|
| -my @fipsrest;
|
| -my %nosym;
|
| -
|
| -# Add symbols to a hash for easy lookup
|
| -
|
| -foreach (@deferr)
|
| - {
|
| - if (/^.*symbol (\S+)$/)
|
| - {
|
| - $nosym{$1} = 1;
|
| - }
|
| - }
|
| -
|
| -open (IN, "ms/libeay32.def") || die "Can't Open DEF file for spliting";
|
| -
|
| -my $started = 0;
|
| -
|
| -# Parse libeay32.def into two arrays depending on whether the symbol matches
|
| -# the missing list.
|
| -
|
| -
|
| -foreach (<IN>)
|
| - {
|
| - if (/^\s*(\S+)\s*(\@\S+)\s*$/)
|
| - {
|
| - $started = 1;
|
| - if (exists $nosym{$1})
|
| - {
|
| - push @fipsrest, $_;
|
| - }
|
| - else
|
| - {
|
| - my $imptmp = sprintf " %-39s %s\n",
|
| - "$1=libosslfips.$1", $2;
|
| - push @fipsrest, $imptmp;
|
| - push @fipsdll, "\t$1\n";
|
| - }
|
| - }
|
| - $preamble .= $_ unless $started;
|
| - }
|
| -
|
| -close IN;
|
| -
|
| -# Hack! Add some additional exports needed for libcryptofips.dll
|
| -#
|
| -
|
| -push @fipsdll, "\tOPENSSL_showfatal\n";
|
| -push @fipsdll, "\tOPENSSL_cpuid_setup\n";
|
| -
|
| -# Write out DEF files for each array
|
| -
|
| -write_def("ms/libosslfips.def", "LIBOSSLFIPS", $preamble, \@fipsdll);
|
| -write_def("ms/libeayfips.def", "", $preamble, \@fipsrest);
|
| -
|
| -
|
| -sub write_def
|
| - {
|
| - my ($fnam, $defname, $preamble, $rdefs) = @_;
|
| - open (OUT, ">$fnam") || die "Can't Open DEF file $fnam for Writing\n";
|
| -
|
| - if ($defname ne "")
|
| - {
|
| - $preamble =~ s/LIBEAY32/$defname/g;
|
| - $preamble =~ s/LIBEAY/$defname/g;
|
| - }
|
| - print OUT $preamble;
|
| - foreach (@$rdefs)
|
| - {
|
| - print OUT $_;
|
| - }
|
| - close OUT;
|
| - }
|
| -
|
| -
|
|
|