diff options
Diffstat (limited to 'openssl/util/mksdef.pl')
-rw-r--r-- | openssl/util/mksdef.pl | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/openssl/util/mksdef.pl b/openssl/util/mksdef.pl deleted file mode 100644 index 065dc675f..000000000 --- a/openssl/util/mksdef.pl +++ /dev/null @@ -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; - } - - |