diff options
Diffstat (limited to 'src/lib/libcrypto/util/pl/BC-32.pl')
-rw-r--r-- | src/lib/libcrypto/util/pl/BC-32.pl | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/src/lib/libcrypto/util/pl/BC-32.pl b/src/lib/libcrypto/util/pl/BC-32.pl new file mode 100644 index 0000000000..99b8c058d2 --- /dev/null +++ b/src/lib/libcrypto/util/pl/BC-32.pl | |||
@@ -0,0 +1,139 @@ | |||
1 | #!/usr/local/bin/perl | ||
2 | # Borland C++ builder 3 and 4 -- Janez Jere <jj@void.si> | ||
3 | # | ||
4 | |||
5 | $ssl= "ssleay32"; | ||
6 | $crypto="libeay32"; | ||
7 | |||
8 | $o='\\'; | ||
9 | $cp='copy'; | ||
10 | $rm='del'; | ||
11 | |||
12 | # C compiler stuff | ||
13 | $cc='bcc32'; | ||
14 | $lflags="-ap -Tpe -x -Gn "; | ||
15 | $mlflags=''; | ||
16 | |||
17 | $out_def="out32"; | ||
18 | $tmp_def="tmp32"; | ||
19 | $inc_def="inc32"; | ||
20 | #enable max error messages, disable most common warnings | ||
21 | $cflags="-DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp "; | ||
22 | if ($debug) | ||
23 | { | ||
24 | $cflags.="-Od -y -v -vi- -D_DEBUG"; | ||
25 | $mlflags.=' '; | ||
26 | } | ||
27 | else | ||
28 | { | ||
29 | $cflags.="-O2 -ff -fp"; | ||
30 | } | ||
31 | |||
32 | $obj='.obj'; | ||
33 | $ofile="-o"; | ||
34 | |||
35 | # EXE linking stuff | ||
36 | $link="ilink32"; | ||
37 | $efile=""; | ||
38 | $exep='.exe'; | ||
39 | if ($no_sock) | ||
40 | { $ex_libs=""; } | ||
41 | else { $ex_libs="cw32mt.lib import32.lib"; } | ||
42 | |||
43 | # static library stuff | ||
44 | $mklib='tlib /P64'; | ||
45 | $ranlib=''; | ||
46 | $plib=""; | ||
47 | $libp=".lib"; | ||
48 | $shlibp=($shlib)?".dll":".lib"; | ||
49 | $lfile=''; | ||
50 | |||
51 | $shlib_ex_obj=""; | ||
52 | $app_ex_obj="c0x32.obj"; | ||
53 | |||
54 | $asm='nasmw -f obj -d__omf__'; | ||
55 | $asm.=" /Zi" if $debug; | ||
56 | $afile='-o'; | ||
57 | |||
58 | $bn_mulw_obj=''; | ||
59 | $bn_mulw_src=''; | ||
60 | $des_enc_obj=''; | ||
61 | $des_enc_src=''; | ||
62 | $bf_enc_obj=''; | ||
63 | $bf_enc_src=''; | ||
64 | |||
65 | if (!$no_asm) | ||
66 | { | ||
67 | $bn_mulw_obj='crypto\bn\asm\bn_win32.obj'; | ||
68 | $bn_mulw_src='crypto\bn\asm\bn_win32.asm'; | ||
69 | $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj'; | ||
70 | $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm'; | ||
71 | $bf_enc_obj='crypto\bf\asm\b_win32.obj'; | ||
72 | $bf_enc_src='crypto\bf\asm\b_win32.asm'; | ||
73 | $cast_enc_obj='crypto\cast\asm\c_win32.obj'; | ||
74 | $cast_enc_src='crypto\cast\asm\c_win32.asm'; | ||
75 | $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj'; | ||
76 | $rc4_enc_src='crypto\rc4\asm\r4_win32.asm'; | ||
77 | $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj'; | ||
78 | $rc5_enc_src='crypto\rc5\asm\r5_win32.asm'; | ||
79 | $md5_asm_obj='crypto\md5\asm\m5_win32.obj'; | ||
80 | $md5_asm_src='crypto\md5\asm\m5_win32.asm'; | ||
81 | $sha1_asm_obj='crypto\sha\asm\s1_win32.obj'; | ||
82 | $sha1_asm_src='crypto\sha\asm\s1_win32.asm'; | ||
83 | $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj'; | ||
84 | $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm'; | ||
85 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; | ||
86 | } | ||
87 | |||
88 | if ($shlib) | ||
89 | { | ||
90 | $mlflags.=" $lflags /dll"; | ||
91 | # $cflags =~ s| /MD| /MT|; | ||
92 | $lib_cflag=" /GD -D_WINDLL -D_DLL"; | ||
93 | $out_def="out32dll"; | ||
94 | $tmp_def="tmp32dll"; | ||
95 | } | ||
96 | |||
97 | sub do_lib_rule | ||
98 | { | ||
99 | local($objs,$target,$name,$shlib)=@_; | ||
100 | local($ret,$Name); | ||
101 | |||
102 | $taget =~ s/\//$o/g if $o ne '/'; | ||
103 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
104 | |||
105 | # $target="\$(LIB_D)$o$target"; | ||
106 | $ret.="$target: $objs\n"; | ||
107 | if (!$shlib) | ||
108 | { | ||
109 | $ret.=<<___; | ||
110 | -\$(RM) $lfile$target | ||
111 | \$(MKLIB) $lfile$target \@&&! | ||
112 | +\$(**: = &^ | ||
113 | +) | ||
114 | ! | ||
115 | ___ | ||
116 | } | ||
117 | else | ||
118 | { | ||
119 | local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; | ||
120 | $ex.=' wsock32.lib gdi32.lib'; | ||
121 | $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; | ||
122 | } | ||
123 | $ret.="\n"; | ||
124 | return($ret); | ||
125 | } | ||
126 | |||
127 | sub do_link_rule | ||
128 | { | ||
129 | local($target,$files,$dep_libs,$libs)=@_; | ||
130 | local($ret,$_); | ||
131 | |||
132 | $file =~ s/\//$o/g if $o ne '/'; | ||
133 | $n=&bname($targer); | ||
134 | $ret.="$target: $files $dep_libs\n"; | ||
135 | $ret.="\t\$(LINK) \$(LFLAGS) $files \$(APP_EX_OBJ), $target,, $libs\n\n"; | ||
136 | return($ret); | ||
137 | } | ||
138 | |||
139 | 1; | ||