diff options
author | ryker <> | 1998-10-05 20:13:15 +0000 |
---|---|---|
committer | ryker <> | 1998-10-05 20:13:15 +0000 |
commit | 536c76cbb863bab152f19842ab88772c01e922c7 (patch) | |
tree | dfecec371a097b73d605aae665887946d9982219 /src/lib/libcrypto/util/pl | |
download | openbsd-536c76cbb863bab152f19842ab88772c01e922c7.tar.gz openbsd-536c76cbb863bab152f19842ab88772c01e922c7.tar.bz2 openbsd-536c76cbb863bab152f19842ab88772c01e922c7.zip |
Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD build
functionality for shared libs.
Note that routines such as sslv2_init and friends that use RSA will
not work due to lack of RSA in this library.
Needs documentation and help from ports for easy upgrade to full
functionality where legally possible.
Diffstat (limited to 'src/lib/libcrypto/util/pl')
-rw-r--r-- | src/lib/libcrypto/util/pl/BC-16.pl | 146 | ||||
-rw-r--r-- | src/lib/libcrypto/util/pl/BC-32.pl | 135 | ||||
-rw-r--r-- | src/lib/libcrypto/util/pl/VC-16.pl | 173 | ||||
-rw-r--r-- | src/lib/libcrypto/util/pl/VC-32.pl | 133 | ||||
-rw-r--r-- | src/lib/libcrypto/util/pl/linux.pl | 96 | ||||
-rw-r--r-- | src/lib/libcrypto/util/pl/unix.pl | 83 |
6 files changed, 766 insertions, 0 deletions
diff --git a/src/lib/libcrypto/util/pl/BC-16.pl b/src/lib/libcrypto/util/pl/BC-16.pl new file mode 100644 index 0000000000..7c3fdb68f4 --- /dev/null +++ b/src/lib/libcrypto/util/pl/BC-16.pl | |||
@@ -0,0 +1,146 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries | ||
3 | # | ||
4 | |||
5 | $o='\\'; | ||
6 | $cp='copy'; | ||
7 | $rm='del'; | ||
8 | |||
9 | # C compiler stuff | ||
10 | $cc='bcc'; | ||
11 | |||
12 | if ($debug) | ||
13 | { $op="-v "; } | ||
14 | else { $op="-O "; } | ||
15 | |||
16 | $cflags="-d -ml $op -DL_ENDIAN"; | ||
17 | # I add the stack opt | ||
18 | $base_lflags="/c /C"; | ||
19 | $lflags="$base_lflags"; | ||
20 | |||
21 | if ($win16) | ||
22 | { | ||
23 | $shlib=1; | ||
24 | $cflags.=" -DWINDOWS -DWIN16"; | ||
25 | $app_cflag="-W"; | ||
26 | $lib_cflag="-WD"; | ||
27 | $lflags.="/Twe"; | ||
28 | } | ||
29 | else | ||
30 | { | ||
31 | $cflags.=" -DMSDOS"; | ||
32 | $lflags.=" /Tde"; | ||
33 | } | ||
34 | |||
35 | if ($shlib) | ||
36 | { | ||
37 | $mlflags=" /Twd $base_lflags"; # stack if defined in .def file | ||
38 | $libs="libw ldllcew"; | ||
39 | $no_asm=1; | ||
40 | } | ||
41 | else | ||
42 | { $mlflags=''; } | ||
43 | |||
44 | $obj='.obj'; | ||
45 | $ofile="-o"; | ||
46 | |||
47 | # EXE linking stuff | ||
48 | $link="tlink"; | ||
49 | $efile=""; | ||
50 | $exep='.exe'; | ||
51 | $ex_libs="CL"; | ||
52 | $ex_libs.=$no_sock?"":" winsock.lib"; | ||
53 | |||
54 | $app_ex_obj="C0L.obj "; | ||
55 | $shlib_ex_obj="" if ($shlib); | ||
56 | |||
57 | # static library stuff | ||
58 | $mklib='tlib'; | ||
59 | $ranlib='echo no ranlib'; | ||
60 | $plib=""; | ||
61 | $libp=".lib"; | ||
62 | $shlibp=($shlib)?".dll":".lib"; | ||
63 | $lfile=''; | ||
64 | |||
65 | $asm='bcc -c -B -Tml'; | ||
66 | $afile='/o'; | ||
67 | if ($no_asm) | ||
68 | { | ||
69 | $bn_mulw_obj=''; | ||
70 | $bn_mulw_src=''; | ||
71 | } | ||
72 | elsif ($asmbits == 32) | ||
73 | { | ||
74 | $bn_mulw_obj='crypto\bn\asm\x86w32.obj'; | ||
75 | $bn_mulw_src='crypto\bn\asm\x86w32.asm'; | ||
76 | } | ||
77 | else | ||
78 | { | ||
79 | $bn_mulw_obj='crypto\bn\asm\x86w16.obj'; | ||
80 | $bn_mulw_src='crypto\bn\asm\x86w16.asm'; | ||
81 | } | ||
82 | |||
83 | sub do_lib_rule | ||
84 | { | ||
85 | local($target,$name,$shlib)=@_; | ||
86 | local($ret,$Name); | ||
87 | |||
88 | $taget =~ s/\//$o/g if $o ne '/'; | ||
89 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
90 | |||
91 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
92 | $ret.="\t\$(RM) \$(O_$Name)\n"; | ||
93 | |||
94 | # Due to a pathetic line length limit, I unwrap the args. | ||
95 | local($lib_names)=""; | ||
96 | local($dll_names)=""; | ||
97 | foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"})) | ||
98 | { | ||
99 | $lib_names.=" +$_ &\n"; | ||
100 | $dll_names.=" $_\n"; | ||
101 | } | ||
102 | |||
103 | if (!$shlib) | ||
104 | { | ||
105 | $ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n"; | ||
106 | } | ||
107 | else | ||
108 | { | ||
109 | local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':""; | ||
110 | $ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n"; | ||
111 | $ret.=$dll_names; | ||
112 | $ret.="\n $target\n\n $ex $libs\nms$o${name}16.def;\n|\n"; | ||
113 | ($out_lib=$target) =~ s/O_/L_/; | ||
114 | $ret.="\timplib /nowep $out_lib $target\n\n"; | ||
115 | } | ||
116 | $ret.="\n"; | ||
117 | return($ret); | ||
118 | } | ||
119 | |||
120 | sub do_link_rule | ||
121 | { | ||
122 | local($target,$files,$dep_libs,$libs)=@_; | ||
123 | local($ret,$f,$_,@f); | ||
124 | |||
125 | $file =~ s/\//$o/g if $o ne '/'; | ||
126 | $n=&bname($targer); | ||
127 | $ret.="$target: $files $dep_libs\n"; | ||
128 | $ret.=" \$(LINK) @&&|"; | ||
129 | |||
130 | # Due to a pathetic line length limit, I have to unwrap the args. | ||
131 | $ret.=" \$(LFLAGS) "; | ||
132 | if ($files =~ /\(([^)]*)\)$/) | ||
133 | { | ||
134 | $ret.=" \$(APP_EX_OBJ)"; | ||
135 | foreach $_ (sort split(/\s+/,$Vars{$1})) | ||
136 | { $ret.="\n $r $_ +"; } | ||
137 | chop($ret); | ||
138 | $ret.="\n"; | ||
139 | } | ||
140 | else | ||
141 | { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; } | ||
142 | $ret.=" $target\n\n $libs\n\n|\n\n"; | ||
143 | return($ret); | ||
144 | } | ||
145 | |||
146 | 1; | ||
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..3898d16f61 --- /dev/null +++ b/src/lib/libcrypto/util/pl/BC-32.pl | |||
@@ -0,0 +1,135 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries | ||
3 | # | ||
4 | |||
5 | $o='\\'; | ||
6 | $cp='copy'; | ||
7 | $rm='del'; | ||
8 | |||
9 | # C compiler stuff | ||
10 | $cc='bcc32'; | ||
11 | |||
12 | if ($debug) | ||
13 | { $op="-v "; } | ||
14 | else { $op="-O "; } | ||
15 | |||
16 | $cflags="-d $op -DL_ENDIAN "; | ||
17 | # I add the stack opt | ||
18 | $base_lflags="-c"; | ||
19 | $lflags="$base_lflags"; | ||
20 | |||
21 | $cflags.=" -DWINDOWS -DWIN32"; | ||
22 | $app_cflag="-WC"; | ||
23 | $lib_cflag="-WC"; | ||
24 | $lflags.=" -Tpe"; | ||
25 | |||
26 | if ($shlib) | ||
27 | { | ||
28 | $mlflags="$base_lflags -Tpe"; # stack if defined in .def file | ||
29 | $libs="libw ldllcew"; | ||
30 | } | ||
31 | else | ||
32 | { $mlflags=''; } | ||
33 | |||
34 | $obj='.obj'; | ||
35 | $ofile="-o"; | ||
36 | |||
37 | # EXE linking stuff | ||
38 | $link="tlink32"; | ||
39 | $efile=""; | ||
40 | $exep='.exe'; | ||
41 | $ex_libs="CW32.LIB IMPORT32.LIB"; | ||
42 | $ex_libs.=$no_sock?"":" wsock32.lib"; | ||
43 | $shlib_ex_obj="" if $shlib; | ||
44 | $app_ex_obj="C0X32.OBJ"; | ||
45 | |||
46 | # static library stuff | ||
47 | $mklib='tlib'; | ||
48 | $ranlib=''; | ||
49 | $plib=""; | ||
50 | $libp=".lib"; | ||
51 | $shlibp=($shlib)?".dll":".lib"; | ||
52 | $lfile=''; | ||
53 | |||
54 | $asm='ml /Cp /c /Cx'; | ||
55 | $afile='/Fo'; | ||
56 | if ($noasm) | ||
57 | { | ||
58 | $bn_mulw_obj=''; | ||
59 | $bn_mulw_src=''; | ||
60 | } | ||
61 | else | ||
62 | { | ||
63 | $bn_mulw_obj='crypto\bn\asm\x86b32.obj'; | ||
64 | $bn_mulw_src='crypto\bn\asm\x86m32.asm'; | ||
65 | } | ||
66 | |||
67 | sub do_lib_rule | ||
68 | { | ||
69 | local($target,$name,$shlib)=@_; | ||
70 | local($ret,$Name); | ||
71 | |||
72 | $taget =~ s/\//$o/g if $o ne '/'; | ||
73 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
74 | |||
75 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
76 | $ret.="\t\$(RM) \$(O_$Name)\n"; | ||
77 | |||
78 | # Due to a pathetic line length limit, I unwrap the args. | ||
79 | local($lib_names)=""; | ||
80 | local($dll_names)=""; | ||
81 | foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"})) | ||
82 | { | ||
83 | $lib_names.=" +$_ &\n"; | ||
84 | $dll_names.=" $_\n"; | ||
85 | } | ||
86 | |||
87 | if (!$shlib) | ||
88 | { | ||
89 | $ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n"; | ||
90 | } | ||
91 | else | ||
92 | { | ||
93 | # $(SHLIB_EX_OBJ) | ||
94 | local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':""; | ||
95 | $ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n"; | ||
96 | $ret.=$dll_names; | ||
97 | $ret.="\n $target\n\n $ex $libs\nms$o${name}16.def;\n|\n"; | ||
98 | ($out_lib=$target) =~ s/O_/L_/; | ||
99 | $ret.="\timplib /nowep $out_lib $target\n\n"; | ||
100 | } | ||
101 | $ret.="\n"; | ||
102 | return($ret); | ||
103 | } | ||
104 | |||
105 | sub do_link_rule | ||
106 | { | ||
107 | local($target,$files,$dep_libs,$libs)=@_; | ||
108 | local($ret,$f,$_,@f); | ||
109 | |||
110 | $file =~ s/\//$o/g if $o ne '/'; | ||
111 | $n=&bname($targer); | ||
112 | $ret.="$target: $files $dep_libs\n"; | ||
113 | $ret.=" \$(LINK) @&&|"; | ||
114 | |||
115 | # Due to a pathetic line length limit, I have to unwrap the args. | ||
116 | $r=" \$(LFLAGS) "; | ||
117 | if ($files =~ /\(([^)]*)\)$/) | ||
118 | { | ||
119 | @a=('$(APP_EX_OBJ)'); | ||
120 | push(@a,sort split(/\s+/,$Vars{$1})); | ||
121 | foreach $_ (@a) | ||
122 | { | ||
123 | $ret.="\n $r $_ +"; | ||
124 | $r=""; | ||
125 | } | ||
126 | chop($ret); | ||
127 | $ret.="\n"; | ||
128 | } | ||
129 | else | ||
130 | { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; } | ||
131 | $ret.=" $target\n\n $libs\n\n|\n\n"; | ||
132 | return($ret); | ||
133 | } | ||
134 | |||
135 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/VC-16.pl b/src/lib/libcrypto/util/pl/VC-16.pl new file mode 100644 index 0000000000..a6e6c0241c --- /dev/null +++ b/src/lib/libcrypto/util/pl/VC-16.pl | |||
@@ -0,0 +1,173 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries | ||
3 | # | ||
4 | |||
5 | $ssl= "ssleay16"; | ||
6 | $crypto="libeay16"; | ||
7 | $RSAref="RSAref16"; | ||
8 | |||
9 | $o='\\'; | ||
10 | $cp='copy'; | ||
11 | $rm='del'; | ||
12 | |||
13 | # C compiler stuff | ||
14 | $cc='cl'; | ||
15 | |||
16 | $out_def="out16"; | ||
17 | $tmp_def="tmp16"; | ||
18 | $inc_def="inc16"; | ||
19 | |||
20 | if ($debug) | ||
21 | { | ||
22 | $op="/Od /Zi /Zd"; | ||
23 | $base_lflags="/CO"; | ||
24 | } | ||
25 | else { | ||
26 | $op="/G2 /f- /Ocgnotb2"; | ||
27 | } | ||
28 | $base_lflags.=" /FARCALL /NOLOGO /NOD /SEG:1024 /ONERROR:NOEXE /NOE /PACKC:60000"; | ||
29 | if ($win16) { $base_lflags.=" /PACKD:60000"; } | ||
30 | |||
31 | $cflags="/ALw /Gx- /Gt256 /Gf $op /W3 /WX -DL_ENDIAN /nologo"; | ||
32 | # I add the stack opt | ||
33 | $lflags="$base_lflags /STACK:20000"; | ||
34 | |||
35 | if ($win16) | ||
36 | { | ||
37 | $cflags.=" -DWINDOWS -DWIN16"; | ||
38 | $app_cflag="/Gw /FPi87"; | ||
39 | $lib_cflag="/Gw"; | ||
40 | $lib_cflag.=" -D_WINDLL -D_DLL" if $shlib; | ||
41 | $lib_cflag.=" -DWIN16TTY" if !$shlib; | ||
42 | $lflags.=" /ALIGN:256"; | ||
43 | $ex_libs.="oldnames llibcewq libw"; | ||
44 | } | ||
45 | else | ||
46 | { | ||
47 | $no_sock=1; | ||
48 | $cflags.=" -DMSDOS"; | ||
49 | $lflags.=" /EXEPACK"; | ||
50 | $ex_libs.="oldnames.lib llibce.lib"; | ||
51 | } | ||
52 | |||
53 | if ($shlib) | ||
54 | { | ||
55 | $mlflags="$base_lflags"; | ||
56 | $libs="oldnames ldllcew libw"; | ||
57 | $shlib_ex_obj=""; | ||
58 | # $no_asm=1; | ||
59 | $out_def="out16dll"; | ||
60 | $tmp_def="tmp16dll"; | ||
61 | } | ||
62 | else | ||
63 | { $mlflags=''; } | ||
64 | |||
65 | $app_ex_obj="setargv.obj"; | ||
66 | |||
67 | $obj='.obj'; | ||
68 | $ofile="/Fo"; | ||
69 | |||
70 | # EXE linking stuff | ||
71 | $link="link"; | ||
72 | $efile=""; | ||
73 | $exep='.exe'; | ||
74 | $ex_libs.=$no_sock?"":" winsock"; | ||
75 | |||
76 | # static library stuff | ||
77 | $mklib='lib /PAGESIZE:1024'; | ||
78 | $ranlib=''; | ||
79 | $plib=""; | ||
80 | $libp=".lib"; | ||
81 | $shlibp=($shlib)?".dll":".lib"; | ||
82 | $lfile=''; | ||
83 | |||
84 | $asm='ml /Cp /c /Cx'; | ||
85 | $afile='/Fo'; | ||
86 | |||
87 | $bn_mulw_obj=''; | ||
88 | $bn_mulw_src=''; | ||
89 | $des_enc_obj=''; | ||
90 | $des_enc_src=''; | ||
91 | $bf_enc_obj=''; | ||
92 | $bf_enc_src=''; | ||
93 | |||
94 | if (!$no_asm) | ||
95 | { | ||
96 | if ($asmbits == 32) | ||
97 | { | ||
98 | $bn_mulw_obj='crypto\bn\asm\x86w32.obj'; | ||
99 | $bn_mulw_src='crypto\bn\asm\x86w32.asm'; | ||
100 | } | ||
101 | else | ||
102 | { | ||
103 | $bn_mulw_obj='crypto\bn\asm\x86w16.obj'; | ||
104 | $bn_mulw_src='crypto\bn\asm\x86w16.asm'; | ||
105 | } | ||
106 | } | ||
107 | |||
108 | sub do_lib_rule | ||
109 | { | ||
110 | local($objs,$target,$name,$shlib)=@_; | ||
111 | local($ret,$Name); | ||
112 | |||
113 | $taget =~ s/\//$o/g if $o ne '/'; | ||
114 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
115 | |||
116 | # $target="\$(LIB_D)$o$target"; | ||
117 | $ret.="$target: $objs\n"; | ||
118 | # $ret.="\t\$(RM) \$(O_$Name)\n"; | ||
119 | |||
120 | # Due to a pathetic line length limit, I unwrap the args. | ||
121 | local($lib_names)=""; | ||
122 | local($dll_names)=" \$(SHLIB_EX_OBJ) +\n"; | ||
123 | ($obj)= ($objs =~ /\((.*)\)/); | ||
124 | foreach $_ (sort split(/\s+/,$Vars{$obj})) | ||
125 | { | ||
126 | $lib_names.="+$_ &\n"; | ||
127 | $dll_names.=" $_ +\n"; | ||
128 | } | ||
129 | |||
130 | if (!$shlib) | ||
131 | { | ||
132 | $ret.="\tdel $target\n"; | ||
133 | $ret.="\t\$(MKLIB) @<<\n$target\ny\n$lib_names\n\n<<\n"; | ||
134 | } | ||
135 | else | ||
136 | { | ||
137 | local($ex)=($target =~ /O_SSL/)?'$(L_CRYPTO)':""; | ||
138 | $ex.=' winsock'; | ||
139 | $ret.="\t\$(LINK) \$(MLFLAGS) @<<\n"; | ||
140 | $ret.=$dll_names; | ||
141 | $ret.="\n $target\n\n $ex $libs\nms$o${name}.def;\n<<\n"; | ||
142 | ($out_lib=$target) =~ s/O_/L_/; | ||
143 | $ret.="\timplib /noignorecase /nowep $out_lib $target\n"; | ||
144 | } | ||
145 | $ret.="\n"; | ||
146 | return($ret); | ||
147 | } | ||
148 | |||
149 | sub do_link_rule | ||
150 | { | ||
151 | local($target,$files,$dep_libs,$libs)=@_; | ||
152 | local($ret,$f,$_,@f); | ||
153 | |||
154 | $file =~ s/\//$o/g if $o ne '/'; | ||
155 | $n=&bname($targer); | ||
156 | $ret.="$target: $files $dep_libs\n"; | ||
157 | $ret.=" \$(LINK) \$(LFLAGS) @<<\n"; | ||
158 | |||
159 | # Due to a pathetic line length limit, I have to unwrap the args. | ||
160 | if ($files =~ /\(([^)]*)\)$/) | ||
161 | { | ||
162 | @a=('$(APP_EX_OBJ)'); | ||
163 | push(@a,sort split(/\s+/,$Vars{$1})); | ||
164 | for $_ (@a) | ||
165 | { $ret.=" $_ +\n"; } | ||
166 | } | ||
167 | else | ||
168 | { $ret.=" \$(APP_EX_OBJ) $files"; } | ||
169 | $ret.="\n $target\n\n $libs\n\n<<\n\n"; | ||
170 | return($ret); | ||
171 | } | ||
172 | |||
173 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/VC-32.pl b/src/lib/libcrypto/util/pl/VC-32.pl new file mode 100644 index 0000000000..701e282c33 --- /dev/null +++ b/src/lib/libcrypto/util/pl/VC-32.pl | |||
@@ -0,0 +1,133 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # VCw32lib.pl - the file for Visual C++ 4.[01] for windows NT, static libraries | ||
3 | # | ||
4 | |||
5 | $ssl= "ssleay32"; | ||
6 | $crypto="libeay32"; | ||
7 | $RSAref="RSAref32"; | ||
8 | |||
9 | $o='\\'; | ||
10 | $cp='copy'; | ||
11 | $rm='del'; | ||
12 | |||
13 | # C compiler stuff | ||
14 | $cc='cl'; | ||
15 | $cflags=' /MD /W3 /WX /G5 /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -DWIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN'; | ||
16 | $lflags="/nologo /subsystem:console /machine:I386 /opt:ref"; | ||
17 | $mlflags=''; | ||
18 | |||
19 | $out_def="out32"; | ||
20 | $tmp_def="tmp32"; | ||
21 | $inc_def="inc32"; | ||
22 | |||
23 | if ($debug) | ||
24 | { | ||
25 | $cflags=" /MDd /W3 /WX /Zi /Yd /Od /nologo -DWINDOWS -DWIN32 -D_DEBUG -DL_ENDIAN"; | ||
26 | $lflags.=" /debug"; | ||
27 | $mlflags.=' /debug'; | ||
28 | } | ||
29 | |||
30 | $obj='.obj'; | ||
31 | $ofile="/Fo"; | ||
32 | |||
33 | # EXE linking stuff | ||
34 | $link="link"; | ||
35 | $efile="/out:"; | ||
36 | $exep='.exe'; | ||
37 | if ($no_sock) | ||
38 | { $ex_libs=""; } | ||
39 | else { $ex_libs="wsock32.lib user32.lib gdi32.lib"; } | ||
40 | |||
41 | # static library stuff | ||
42 | $mklib='lib'; | ||
43 | $ranlib=''; | ||
44 | $plib=""; | ||
45 | $libp=".lib"; | ||
46 | $shlibp=($shlib)?".dll":".lib"; | ||
47 | $lfile='/out:'; | ||
48 | |||
49 | $shlib_ex_obj=""; | ||
50 | $app_ex_obj="setargv.obj"; | ||
51 | |||
52 | $asm='ml /Cp /coff /c /Cx'; | ||
53 | $asm.=" /Zi" if $debug; | ||
54 | $afile='/Fo'; | ||
55 | |||
56 | $bn_mulw_obj=''; | ||
57 | $bn_mulw_src=''; | ||
58 | $des_enc_obj=''; | ||
59 | $des_enc_src=''; | ||
60 | $bf_enc_obj=''; | ||
61 | $bf_enc_src=''; | ||
62 | |||
63 | if (!$no_asm) | ||
64 | { | ||
65 | $bn_mulw_obj='crypto\bn\asm\bn-win32.obj'; | ||
66 | $bn_mulw_src='crypto\bn\asm\bn-win32.asm'; | ||
67 | $des_enc_obj='crypto\des\asm\d-win32.obj crypto\des\asm\y-win32.obj'; | ||
68 | $des_enc_src='crypto\des\asm\d-win32.asm crypto\des\asm\y-win32.asm'; | ||
69 | $bf_enc_obj='crypto\bf\asm\b-win32.obj'; | ||
70 | $bf_enc_src='crypto\bf\asm\b-win32.asm'; | ||
71 | $cast_enc_obj='crypto\cast\asm\c-win32.obj'; | ||
72 | $cast_enc_src='crypto\cast\asm\c-win32.asm'; | ||
73 | $rc4_enc_obj='crypto\rc4\asm\r4-win32.obj'; | ||
74 | $rc4_enc_src='crypto\rc4\asm\r4-win32.asm'; | ||
75 | $rc5_enc_obj='crypto\rc5\asm\r5-win32.obj'; | ||
76 | $rc5_enc_src='crypto\rc5\asm\r5-win32.asm'; | ||
77 | $md5_asm_obj='crypto\md5\asm\m5-win32.obj'; | ||
78 | $md5_asm_src='crypto\md5\asm\m5-win32.asm'; | ||
79 | $sha1_asm_obj='crypto\sha\asm\s1-win32.obj'; | ||
80 | $sha1_asm_src='crypto\sha\asm\s1-win32.asm'; | ||
81 | $rmd160_asm_obj='crypto\ripemd\asm\rm-win32.obj'; | ||
82 | $rmd160_asm_src='crypto\ripemd\asm\rm-win32.asm'; | ||
83 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; | ||
84 | } | ||
85 | |||
86 | if ($shlib) | ||
87 | { | ||
88 | $mlflags.=" $lflags /dll"; | ||
89 | # $cflags =~ s| /MD| /MT|; | ||
90 | $lib_cflag=" /GD -D_WINDLL -D_DLL"; | ||
91 | $out_def="out32dll"; | ||
92 | $tmp_def="tmp32dll"; | ||
93 | } | ||
94 | |||
95 | sub do_lib_rule | ||
96 | { | ||
97 | local($objs,$target,$name,$shlib)=@_; | ||
98 | local($ret,$Name); | ||
99 | |||
100 | $taget =~ s/\//$o/g if $o ne '/'; | ||
101 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
102 | |||
103 | # $target="\$(LIB_D)$o$target"; | ||
104 | $ret.="$target: $objs\n"; | ||
105 | if (!$shlib) | ||
106 | { | ||
107 | # $ret.="\t\$(RM) \$(O_$Name)\n"; | ||
108 | $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs\n<<\n"; | ||
109 | } | ||
110 | else | ||
111 | { | ||
112 | local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; | ||
113 | $ex.=' wsock32.lib gdi32.lib'; | ||
114 | $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; | ||
115 | } | ||
116 | $ret.="\n"; | ||
117 | return($ret); | ||
118 | } | ||
119 | |||
120 | sub do_link_rule | ||
121 | { | ||
122 | local($target,$files,$dep_libs,$libs)=@_; | ||
123 | local($ret,$_); | ||
124 | |||
125 | $file =~ s/\//$o/g if $o ne '/'; | ||
126 | $n=&bname($targer); | ||
127 | $ret.="$target: $files $dep_libs\n"; | ||
128 | $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n"; | ||
129 | $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n\n"; | ||
130 | return($ret); | ||
131 | } | ||
132 | |||
133 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/linux.pl b/src/lib/libcrypto/util/pl/linux.pl new file mode 100644 index 0000000000..2b13da1bfc --- /dev/null +++ b/src/lib/libcrypto/util/pl/linux.pl | |||
@@ -0,0 +1,96 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # | ||
3 | # linux.pl - the standard unix makefile stuff. | ||
4 | # | ||
5 | |||
6 | $o='/'; | ||
7 | $cp='/bin/cp'; | ||
8 | $rm='/bin/rm -f'; | ||
9 | |||
10 | # C compiler stuff | ||
11 | |||
12 | $cc='gcc'; | ||
13 | if ($debug) | ||
14 | { $cflags="-g2 -ggdb -DREF_CHECK -DCRYPTO_MDEBUG"; } | ||
15 | else | ||
16 | { $cflags="-O3 -fomit-frame-pointer"; } | ||
17 | |||
18 | if (!$no_asm) | ||
19 | { | ||
20 | $bn_mulw_obj='$(OBJ_D)/bn86-elf.o'; | ||
21 | $bn_mulw_src='crypto/bn/asm/bn86unix.cpp'; | ||
22 | $des_enc_obj='$(OBJ_D)/dx86-elf.o $(OBJ_D)/yx86-elf.o'; | ||
23 | $des_enc_src='crypto/des/asm/dx86unix.cpp crypto/des/asm/yx86unix.cpp'; | ||
24 | $bf_enc_obj='$(OBJ_D)/bx86-elf.o'; | ||
25 | $bf_enc_src='crypto/bf/asm/bx86unix.cpp'; | ||
26 | $cast_enc_obj='$(OBJ_D)/cx86-elf.o'; | ||
27 | $cast_enc_src='crypto/cast/asm/cx86unix.cpp'; | ||
28 | $rc4_enc_obj='$(OBJ_D)/rx86-elf.o'; | ||
29 | $rc4_enc_src='crypto/rc4/asm/rx86unix.cpp'; | ||
30 | $md5_asm_obj='$(OBJ_D)/mx86-elf.o'; | ||
31 | $md5_asm_src='crypto/md5/asm/mx86unix.cpp'; | ||
32 | $sha1_asm_obj='$(OBJ_D)/sx86-elf.o'; | ||
33 | $sha1_asm_src='crypto/sha/asm/sx86unix.cpp'; | ||
34 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM"; | ||
35 | } | ||
36 | |||
37 | $cflags.=" -DTERMIO -DL_ENDIAN -m486 -Wall"; | ||
38 | |||
39 | if ($shlib) | ||
40 | { | ||
41 | $shl_cflag=" -DPIC -fpic"; | ||
42 | $shlibp=".so.$ssl_version"; | ||
43 | $so_shlibp=".so"; | ||
44 | } | ||
45 | |||
46 | sub do_shlib_rule | ||
47 | { | ||
48 | local($obj,$target,$name,$shlib,$so_name)=@_; | ||
49 | local($ret,$_,$Name); | ||
50 | |||
51 | $target =~ s/\//$o/g if $o ne '/'; | ||
52 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
53 | |||
54 | $ret.="\$(LIB_D)$o$target: \$(${Name}OBJ)\n"; | ||
55 | $ret.="\t\$(RM) \$(LIB_D)$o$target\n"; | ||
56 | $ret.="\tgcc \${CFLAGS} -shared -Wl,-soname,$target -o \$(LIB_D)$o$target \$(${Name}OBJ)\n"; | ||
57 | ($t=$target) =~ s/(^.*)\/[^\/]*$/$1/; | ||
58 | if ($so_name ne "") | ||
59 | { | ||
60 | $ret.="\t\$(RM) \$(LIB_D)$o$so_name\n"; | ||
61 | $ret.="\tln -s $target \$(LIB_D)$o$so_name\n\n"; | ||
62 | } | ||
63 | } | ||
64 | |||
65 | sub do_link_rule | ||
66 | { | ||
67 | local($target,$files,$dep_libs,$libs)=@_; | ||
68 | local($ret,$_); | ||
69 | |||
70 | $file =~ s/\//$o/g if $o ne '/'; | ||
71 | $n=&bname($target); | ||
72 | $ret.="$target: $files $dep_libs\n"; | ||
73 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
74 | return($ret); | ||
75 | } | ||
76 | |||
77 | sub do_asm_rule | ||
78 | { | ||
79 | local($target,$src)=@_; | ||
80 | local($ret,@s,@t,$i); | ||
81 | |||
82 | $target =~ s/\//$o/g if $o ne "/"; | ||
83 | $src =~ s/\//$o/g if $o ne "/"; | ||
84 | |||
85 | @s=split(/\s+/,$src); | ||
86 | @t=split(/\s+/,$target); | ||
87 | |||
88 | for ($i=0; $i<=$#s; $i++) | ||
89 | { | ||
90 | $ret.="$t[$i]: $s[$i]\n"; | ||
91 | $ret.="\tgcc -E -DELF \$(SRC_D)$o$s[$i]|\$(AS) $afile$t[$i]\n\n"; | ||
92 | } | ||
93 | return($ret); | ||
94 | } | ||
95 | |||
96 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/unix.pl b/src/lib/libcrypto/util/pl/unix.pl new file mode 100644 index 0000000000..ab4978fd20 --- /dev/null +++ b/src/lib/libcrypto/util/pl/unix.pl | |||
@@ -0,0 +1,83 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # | ||
3 | # unix.pl - the standard unix makefile stuff. | ||
4 | # | ||
5 | |||
6 | $o='/'; | ||
7 | $cp='/bin/cp'; | ||
8 | $rm='/bin/rm -f'; | ||
9 | |||
10 | # C compiler stuff | ||
11 | |||
12 | if ($gcc) | ||
13 | { | ||
14 | $cc='gcc'; | ||
15 | if ($debug) | ||
16 | { $cflags="-g2 -ggdb"; } | ||
17 | else | ||
18 | { $cflags="-O3 -fomit-frame-pointer"; } | ||
19 | } | ||
20 | else | ||
21 | { | ||
22 | $cc='cc'; | ||
23 | if ($debug) | ||
24 | { $cflags="-g"; } | ||
25 | else | ||
26 | { $cflags="-O"; } | ||
27 | } | ||
28 | $obj='.o'; | ||
29 | $ofile='-o '; | ||
30 | |||
31 | # EXE linking stuff | ||
32 | $link='${CC}'; | ||
33 | $lflags='${CFLAGS}'; | ||
34 | $efile='-o '; | ||
35 | $exep=''; | ||
36 | $ex_libs=""; | ||
37 | |||
38 | # static library stuff | ||
39 | $mklib='ar r'; | ||
40 | $mlflags=''; | ||
41 | $ranlib='util/ranlib.sh'; | ||
42 | $plib='lib'; | ||
43 | $libp=".a"; | ||
44 | $shlibp=".a"; | ||
45 | $lfile=''; | ||
46 | |||
47 | $asm='as'; | ||
48 | $afile='-o '; | ||
49 | $bn_mulw_obj=""; | ||
50 | $bn_mulw_src=""; | ||
51 | $des_enc_obj=""; | ||
52 | $des_enc_src=""; | ||
53 | $bf_enc_obj=""; | ||
54 | $bf_enc_src=""; | ||
55 | |||
56 | sub do_lib_rule | ||
57 | { | ||
58 | local($obj,$target,$name,$shlib)=@_; | ||
59 | local($ret,$_,$Name); | ||
60 | |||
61 | $target =~ s/\//$o/g if $o ne '/'; | ||
62 | $target="\$(LIB_D)$o$target"; | ||
63 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
64 | |||
65 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
66 | $ret.="\t\$(RM) $target\n"; | ||
67 | $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | ||
68 | $ret.="\t\$(RANLIB) $target\n\n"; | ||
69 | } | ||
70 | |||
71 | sub do_link_rule | ||
72 | { | ||
73 | local($target,$files,$dep_libs,$libs)=@_; | ||
74 | local($ret,$_); | ||
75 | |||
76 | $file =~ s/\//$o/g if $o ne '/'; | ||
77 | $n=&bname($target); | ||
78 | $ret.="$target: $files $dep_libs\n"; | ||
79 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
80 | return($ret); | ||
81 | } | ||
82 | |||
83 | 1; | ||