⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bc-16.pl

📁 openssl是ssl的开源项目
💻 PL
字号:
#!/usr/local/bin/perl# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries#$o='\\';$cp='copy';$rm='del';# C compiler stuff$cc='bcc';if ($debug)	{ $op="-v "; }else	{ $op="-O "; }$cflags="-d -ml $op -DL_ENDIAN";# I add the stack opt$base_lflags="/c /C";$lflags="$base_lflags";if ($win16)	{	$shlib=1;	$cflags.=" -DWINDOWS -DWIN16";	$app_cflag="-W";	$lib_cflag="-WD";	$lflags.="/Twe";	}else	{	$cflags.=" -DMSDOS";	$lflags.=" /Tde";	}if ($shlib)	{	$mlflags=" /Twd $base_lflags"; # stack if defined in .def file	$libs="libw ldllcew";	$no_asm=1;	}else	{ $mlflags=''; }$obj='.obj';$ofile="-o";# EXE linking stuff$link="tlink";$efile="";$exep='.exe';$ex_libs="CL";$ex_libs.=$no_sock?"":" winsock.lib";$app_ex_obj="C0L.obj ";$shlib_ex_obj="" if ($shlib);# static library stuff$mklib='tlib';$ranlib='echo no ranlib';$plib="";$libp=".lib";$shlibp=($shlib)?".dll":".lib";$lfile='';$asm='bcc -c -B -Tml';$afile='/o';if ($no_asm)	{	$bn_asm_obj='';	$bn_asm_src='';	}elsif ($asmbits == 32)	{	$bn_asm_obj='crypto\bn\asm\x86w32.obj';	$bn_asm_src='crypto\bn\asm\x86w32.asm';	}else	{	$bn_asm_obj='crypto\bn\asm\x86w16.obj';	$bn_asm_src='crypto\bn\asm\x86w16.asm';	}sub do_lib_rule	{	local($target,$name,$shlib)=@_;	local($ret,$Name);	$taget =~ s/\//$o/g if $o ne '/';	($Name=$name) =~ tr/a-z/A-Z/;	$ret.="$target: \$(${Name}OBJ)\n";	$ret.="\t\$(RM) \$(O_$Name)\n";	# Due to a pathetic line length limit, I unwrap the args.	local($lib_names)="";	local($dll_names)="";	foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"}))		{		$lib_names.="  +$_ &\n";		$dll_names.="  $_\n";		}	if (!$shlib)		{		$ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n";		}	else		{		local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':"";		$ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n";		$ret.=$dll_names;		$ret.="\n  $target\n\n  $ex $libs\nms$o${name}16.def;\n|\n";		($out_lib=$target) =~ s/O_/L_/;		$ret.="\timplib /nowep $out_lib $target\n\n";		}	$ret.="\n";	return($ret);	}sub do_link_rule	{	local($target,$files,$dep_libs,$libs)=@_;	local($ret,$f,$_,@f);		$file =~ s/\//$o/g if $o ne '/';	$n=&bname($targer);	$ret.="$target: $files $dep_libs\n";	$ret.="  \$(LINK) @&&|";		# Due to a pathetic line length limit, I have to unwrap the args.	$ret.=" \$(LFLAGS) ";	if ($files =~ /\(([^)]*)\)$/)		{		$ret.=" \$(APP_EX_OBJ)";		foreach $_ (sort split(/\s+/,$Vars{$1}))			{ $ret.="\n  $r $_ +"; }		chop($ret);		$ret.="\n";		}	else		{ $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }	$ret.="  $target\n\n  $libs\n\n|\n\n";	return($ret);	}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -