2 # VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries
16 $cflags="-d -ml $op -DL_ENDIAN";
19 $lflags="$base_lflags";
24 $cflags.=" -DWINDOWS -DWIN16";
37 $mlflags=" /Twd $base_lflags"; # stack if defined in .def file
52 $ex_libs.=$no_sock?"":" winsock.lib";
54 $app_ex_obj="C0L.obj ";
55 $shlib_ex_obj="" if ($shlib);
57 # static library stuff
59 $ranlib='echo no ranlib';
62 $shlibp=($shlib)?".dll":".lib";
65 $asm='bcc -c -B -Tml';
72 elsif ($asmbits == 32)
74 $bn_asm_obj='crypto\bn\asm\x86w32.obj';
75 $bn_asm_src='crypto\bn\asm\x86w32.asm';
79 $bn_asm_obj='crypto\bn\asm\x86w16.obj';
80 $bn_asm_src='crypto\bn\asm\x86w16.asm';
85 local($target,$name,$shlib)=@_;
88 $taget =~ s/\//$o/g if $o ne '/';
89 ($Name=$name) =~ tr/a-z/A-Z/;
91 $ret.="$target: \$(${Name}OBJ)\n";
92 $ret.="\t\$(RM) \$(O_$Name)\n";
94 # Due to a pathetic line length limit, I unwrap the args.
97 foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"}))
99 $lib_names.=" +$_ &\n";
105 $ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n";
109 local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':"";
110 $ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n";
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";
122 local($target,$files,$dep_libs,$libs)=@_;
123 local($ret,$f,$_,@f);
125 $file =~ s/\//$o/g if $o ne '/';
127 $ret.="$target: $files $dep_libs\n";
128 $ret.=" \$(LINK) @&&|";
130 # Due to a pathetic line length limit, I have to unwrap the args.
131 $ret.=" \$(LFLAGS) ";
132 if ($files =~ /\(([^)]*)\)$/)
134 $ret.=" \$(APP_EX_OBJ)";
135 foreach $_ (sort split(/\s+/,$Vars{$1}))
136 { $ret.="\n $r $_ +"; }
141 { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }
142 $ret.=" $target\n\n $libs\n\n|\n\n";