diff options
Diffstat (limited to 'src/lib/libcrypto/util/mkdef.pl')
-rw-r--r-- | src/lib/libcrypto/util/mkdef.pl | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/src/lib/libcrypto/util/mkdef.pl b/src/lib/libcrypto/util/mkdef.pl index cdd2164c4e..01a1bfda19 100644 --- a/src/lib/libcrypto/util/mkdef.pl +++ b/src/lib/libcrypto/util/mkdef.pl | |||
@@ -1116,27 +1116,55 @@ sub print_test_file | |||
1116 | } | 1116 | } |
1117 | } | 1117 | } |
1118 | 1118 | ||
1119 | sub get_version { | ||
1120 | local *MF; | ||
1121 | my $v = '?'; | ||
1122 | open MF, 'Makefile.ssl' or return $v; | ||
1123 | while (<MF>) { | ||
1124 | $v = $1, last if /^VERSION=(.*?)\s*$/; | ||
1125 | } | ||
1126 | close MF; | ||
1127 | return $v; | ||
1128 | } | ||
1129 | |||
1119 | sub print_def_file | 1130 | sub print_def_file |
1120 | { | 1131 | { |
1121 | (*OUT,my $name,*nums,my @symbols)=@_; | 1132 | (*OUT,my $name,*nums,my @symbols)=@_; |
1122 | my $n = 1; my @e; my @r; my @v; my $prev=""; | 1133 | my $n = 1; my @e; my @r; my @v; my $prev=""; |
1123 | my $liboptions=""; | 1134 | my $liboptions=""; |
1135 | my $libname = $name; | ||
1136 | my $http_vendor = 'www.openssl.org/'; | ||
1137 | my $version = get_version(); | ||
1138 | my $what = "OpenSSL: implementation of Secure Socket Layer"; | ||
1139 | my $description = "$what $version, $name - http://$http_vendor"; | ||
1124 | 1140 | ||
1125 | if ($W32) | 1141 | if ($W32) |
1126 | { $name.="32"; } | 1142 | { $libname.="32"; } |
1127 | elsif ($W16) | 1143 | elsif ($W16) |
1128 | { $name.="16"; } | 1144 | { $libname.="16"; } |
1129 | elsif ($OS2) | 1145 | elsif ($OS2) |
1130 | { $liboptions = "INITINSTANCE\nDATA NONSHARED"; } | 1146 | { # DLL names should not clash on the whole system. |
1147 | # However, they should not have any particular relationship | ||
1148 | # to the name of the static library. Chose descriptive names | ||
1149 | # (must be at most 8 chars). | ||
1150 | my %translate = (ssl => 'open_ssl', crypto => 'cryptssl'); | ||
1151 | $libname = $translate{$name} || $name; | ||
1152 | $liboptions = <<EOO; | ||
1153 | INITINSTANCE | ||
1154 | DATA MULTIPLE NONSHARED | ||
1155 | EOO | ||
1156 | # Vendor field can't contain colon, drat; so we omit http:// | ||
1157 | $description = "\@#$http_vendor:$version#\@$what; DLL for library $name. Build for EMX -Zmtd"; | ||
1158 | } | ||
1131 | 1159 | ||
1132 | print OUT <<"EOF"; | 1160 | print OUT <<"EOF"; |
1133 | ; | 1161 | ; |
1134 | ; Definition file for the DLL version of the $name library from OpenSSL | 1162 | ; Definition file for the DLL version of the $name library from OpenSSL |
1135 | ; | 1163 | ; |
1136 | 1164 | ||
1137 | LIBRARY $name $liboptions | 1165 | LIBRARY $libname $liboptions |
1138 | 1166 | ||
1139 | DESCRIPTION 'OpenSSL $name - http://www.openssl.org/' | 1167 | DESCRIPTION '$description' |
1140 | 1168 | ||
1141 | EOF | 1169 | EOF |
1142 | 1170 | ||