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

📄 mk1mf.pl

📁 mediastreamer2是开源的网络传输媒体流的库
💻 PL
📖 第 1 页 / 共 2 页
字号:
#ifdef $platform_cpp_symbol  /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */  #define CFLAGS "$cc $cflags"  #define PLATFORM "$platform"EOFprintf OUT "  #define DATE \"%s\"\n", scalar gmtime();printf OUT "#endif\n";close(OUT);# Strip of trailing ' 'foreach (keys %lib_obj) { $lib_obj{$_}=&clean_up_ws($lib_obj{$_}); }$test=&clean_up_ws($test);$e_exe=&clean_up_ws($e_exe);$exheader=&clean_up_ws($exheader);$header=&clean_up_ws($header);# First we strip the exheaders from the headers listforeach (split(/\s+/,$exheader)){ $h{$_}=1; }foreach (split(/\s+/,$header))	{ $h.=$_." " unless $h{$_}; }chop($h); $header=$h;$defs.=&do_defs("HEADER",$header,"\$(INCL_D)","");$rules.=&do_copy_rule("\$(INCL_D)",$header,"");$defs.=&do_defs("EXHEADER",$exheader,"\$(INCO_D)","");$rules.=&do_copy_rule("\$(INCO_D)",$exheader,"");$defs.=&do_defs("T_OBJ",$test,"\$(OBJ_D)",$obj);$rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");$defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj);$rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)');foreach (values %lib_nam)	{	$lib_obj=$lib_obj{$_};	local($slib)=$shlib;	if (($_ eq "SSL") && $no_ssl2 && $no_ssl3)		{		$rules.="\$(O_SSL):\n\n"; 		next;		}	if (($bn_asm_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s\S*\/bn_asm\S*/ \$(BN_ASM_OBJ)/;		$rules.=&do_asm_rule($bn_asm_obj,$bn_asm_src);		}	if (($bnco_asm_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj .= "\$(BNCO_ASM_OBJ)";		$rules.=&do_asm_rule($bnco_asm_obj,$bnco_asm_src);		}	if (($des_enc_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s\S*des_enc\S*/ \$(DES_ENC_OBJ)/;		$lib_obj =~ s/\s\S*\/fcrypt_b\S*\s*/ /;		$rules.=&do_asm_rule($des_enc_obj,$des_enc_src);		}	if (($bf_enc_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s\S*\/bf_enc\S*/ \$(BF_ENC_OBJ)/;		$rules.=&do_asm_rule($bf_enc_obj,$bf_enc_src);		}	if (($cast_enc_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/(\s\S*\/c_enc\S*)/ \$(CAST_ENC_OBJ)/;		$rules.=&do_asm_rule($cast_enc_obj,$cast_enc_src);		}	if (($rc4_enc_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s\S*\/rc4_enc\S*/ \$(RC4_ENC_OBJ)/;		$rules.=&do_asm_rule($rc4_enc_obj,$rc4_enc_src);		}	if (($rc5_enc_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s\S*\/rc5_enc\S*/ \$(RC5_ENC_OBJ)/;		$rules.=&do_asm_rule($rc5_enc_obj,$rc5_enc_src);		}	if (($md5_asm_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s(\S*\/md5_dgst\S*)/ $1 \$(MD5_ASM_OBJ)/;		$rules.=&do_asm_rule($md5_asm_obj,$md5_asm_src);		}	if (($sha1_asm_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s(\S*\/sha1dgst\S*)/ $1 \$(SHA1_ASM_OBJ)/;		$rules.=&do_asm_rule($sha1_asm_obj,$sha1_asm_src);		}	if (($rmd160_asm_obj ne "") && ($_ eq "CRYPTO"))		{		$lib_obj =~ s/\s(\S*\/rmd_dgst\S*)/ $1 \$(RMD160_ASM_OBJ)/;		$rules.=&do_asm_rule($rmd160_asm_obj,$rmd160_asm_src);		}	$defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj);	$lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)";	$rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib);	}# hack to add version info on MSVCif (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) {    $rules.= <<"EOF";\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc	\$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc	\$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rcEOF}$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep);foreach (split(/\s+/,$test))	{	$t=&bname($_);	$tt="\$(OBJ_D)${o}$t${obj}";	$rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");	}$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");print $defs;if ($platform eq "linux-elf") {    print <<"EOF";# Generate perlasm output files%.cpp:	(cd \$(\@D)/..; PERL=perl make -f Makefile asm/\$(\@F))EOF}print "###################################################################\n";print $rules;################################################ strip off any trailing .[och] and append the relative directory# also remembering to do nothing if we are in one of the dropped# directoriessub var_add	{	local($dir,$val,$keepext)=@_;	local(@a,$_,$ret);	return("") if $no_engine && $dir =~ /\/engine/;	return("") if $no_hw   && $dir =~ /\/hw/;	return("") if $no_idea && $dir =~ /\/idea/;	return("") if $no_aes  && $dir =~ /\/aes/;	return("") if $no_rc2  && $dir =~ /\/rc2/;	return("") if $no_rc4  && $dir =~ /\/rc4/;	return("") if $no_rc5  && $dir =~ /\/rc5/;	return("") if $no_rsa  && $dir =~ /\/rsa/;	return("") if $no_rsa  && $dir =~ /^rsaref/;	return("") if $no_dsa  && $dir =~ /\/dsa/;	return("") if $no_dh   && $dir =~ /\/dh/;	return("") if $no_ec   && $dir =~ /\/ec/;	if ($no_des && $dir =~ /\/des/)		{		if ($val =~ /read_pwd/)			{ return("$dir/read_pwd "); }		else			{ return(""); }		}	return("") if $no_mdc2 && $dir =~ /\/mdc2/;	return("") if $no_sock && $dir =~ /\/proxy/;	return("") if $no_bf   && $dir =~ /\/bf/;	return("") if $no_cast && $dir =~ /\/cast/;	$val =~ s/^\s*(.*)\s*$/$1/;	@a=split(/\s+/,$val);	grep(s/\.[och]$//,@a) unless $keepext;	@a=grep(!/^e_.*_3d$/,@a) if $no_des;	@a=grep(!/^e_.*_d$/,@a) if $no_des;	@a=grep(!/^e_.*_ae$/,@a) if $no_idea;	@a=grep(!/^e_.*_i$/,@a) if $no_aes;	@a=grep(!/^e_.*_r2$/,@a) if $no_rc2;	@a=grep(!/^e_.*_r5$/,@a) if $no_rc5;	@a=grep(!/^e_.*_bf$/,@a) if $no_bf;	@a=grep(!/^e_.*_c$/,@a) if $no_cast;	@a=grep(!/^e_rc4$/,@a) if $no_rc4;	@a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;	@a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;	@a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;	@a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2;	@a=grep(!/(^md4)|(_md4$)/,@a) if $no_md4;	@a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5;	@a=grep(!/(rmd)|(ripemd)/,@a) if $no_ripemd;	@a=grep(!/(^d2i_r_)|(^i2d_r_)/,@a) if $no_rsa;	@a=grep(!/(^p_open$)|(^p_seal$)/,@a) if $no_rsa;	@a=grep(!/(^pem_seal$)/,@a) if $no_rsa;	@a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa;	@a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa;	@a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4;	@a=grep(!/_dhp$/,@a) if $no_dh;	@a=grep(!/(^sha[^1])|(_sha$)|(m_dss$)/,@a) if $no_sha;	@a=grep(!/(^sha1)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;	@a=grep(!/_mdc2$/,@a) if $no_mdc2;	@a=grep(!/^engine$/,@a) if $no_engine;	@a=grep(!/^hw$/,@a) if $no_hw;	@a=grep(!/(^rsa$)|(^genrsa$)/,@a) if $no_rsa;	@a=grep(!/(^dsa$)|(^gendsa$)|(^dsaparam$)/,@a) if $no_dsa;	@a=grep(!/^gendsa$/,@a) if $no_sha1;	@a=grep(!/(^dh$)|(^gendh$)/,@a) if $no_dh;	@a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;	grep($_="$dir/$_",@a);	@a=grep(!/(^|\/)s_/,@a) if $no_sock;	@a=grep(!/(^|\/)bio_sock/,@a) if $no_sock;	$ret=join(' ',@a)." ";	return($ret);	}# change things so that each 'token' is only separated by one spacesub clean_up_ws	{	local($w)=@_;	$w =~ s/^\s*(.*)\s*$/$1/;	$w =~ s/\s+/ /g;	return($w);	}sub do_defs	{	local($var,$files,$location,$postfix)=@_;	local($_,$ret,$pf);	local(*OUT,$tmp,$t);	$files =~ s/\//$o/g if $o ne '/';	$ret="$var="; 	$n=1;	$Vars{$var}.="";	foreach (split(/ /,$files))		{		$orig=$_;		$_=&bname($_) unless /^\$/;		if ($n++ == 2)			{			$n=0;			$ret.="\\\n\t";			}		if (($_ =~ /bss_file/) && ($postfix eq ".h"))			{ $pf=".c"; }		else	{ $pf=$postfix; }		if ($_ =~ /BN_ASM/)	{ $t="$_ "; }		elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; }		elsif ($_ =~ /DES_ENC/)	{ $t="$_ "; }		elsif ($_ =~ /BF_ENC/)	{ $t="$_ "; }		elsif ($_ =~ /CAST_ENC/){ $t="$_ "; }		elsif ($_ =~ /RC4_ENC/)	{ $t="$_ "; }		elsif ($_ =~ /RC5_ENC/)	{ $t="$_ "; }		elsif ($_ =~ /MD5_ASM/)	{ $t="$_ "; }		elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; }		elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; }		else	{ $t="$location${o}$_$pf "; }		$Vars{$var}.="$t ";		$ret.=$t;		}	# hack to add version info on MSVC	if ($shlib && ($platform eq "VC-WIN32") || ($platform eq "VC-NT"))		{		if ($var eq "CRYPTOOBJ")			{ $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; }		elsif ($var eq "SSLOBJ")			{ $ret.="\$(OBJ_D)\\\$(SSL).res "; }		}	chop($ret);	$ret.="\n\n";	return($ret);	}# return the name with the leading path removedsub bname	{	local($ret)=@_;	$ret =~ s/^.*[\\\/]([^\\\/]+)$/$1/;	return($ret);	}############################################################### do a rule for each file that says 'compile' to new direcory# compile the files in '$files' into $tosub do_compile_rule	{	local($to,$files,$ex)=@_;	local($ret,$_,$n);		$files =~ s/\//$o/g if $o ne '/';	foreach (split(/\s+/,$files))		{		$n=&bname($_);		$ret.=&cc_compile_target("$to${o}$n$obj","${_}.c",$ex)		}	return($ret);	}############################################################### do a rule for each file that says 'compile' to new direcorysub cc_compile_target	{	local($target,$source,$ex_flags)=@_;	local($ret);		$ex_flags.=" -DMK1MF_BUILD -D$platform_cpp_symbol" if ($source =~ /cversion/);	$target =~ s/\//$o/g if $o ne "/";	$source =~ s/\//$o/g if $o ne "/";	$ret ="$target: \$(SRC_D)$o$source\n\t";	$ret.="\$(CC) ${ofile}$target $ex_flags -c \$(SRC_D)$o$source\n\n";	return($ret);	}##############################################################sub do_asm_rule	{	local($target,$src)=@_;	local($ret,@s,@t,$i);	$target =~ s/\//$o/g if $o ne "/";	$src =~ s/\//$o/g if $o ne "/";	@s=split(/\s+/,$src);	@t=split(/\s+/,$target);	for ($i=0; $i<=$#s; $i++)		{		$ret.="$t[$i]: $s[$i]\n";		$ret.="\t\$(ASM) $afile$t[$i] \$(SRC_D)$o$s[$i]\n\n";		}	return($ret);	}sub do_shlib_rule	{	local($n,$def)=@_;	local($ret,$nn);	local($t);	($nn=$n) =~ tr/a-z/A-Z/;	$ret.="$n.dll: \$(${nn}OBJ)\n";	if ($vc && $w32)		{		$ret.="\t\$(MKSHLIB) $efile$n.dll $def @<<\n  \$(${nn}OBJ_F)\n<<\n";		}	$ret.="\n";	return($ret);	}# do a rule for each file that says 'copy' to new direcory on changesub do_copy_rule	{	local($to,$files,$p)=@_;	local($ret,$_,$n,$pp);		$files =~ s/\//$o/g if $o ne '/';	foreach (split(/\s+/,$files))		{		$n=&bname($_);		if ($n =~ /bss_file/)			{ $pp=".c"; }		else	{ $pp=$p; }		$ret.="$to${o}$n$pp: \$(SRC_D)$o$_$pp\n\t\$(CP) \$(SRC_D)$o$_$pp $to${o}$n$pp\n\n";		}	return($ret);	}sub read_options	{	# Many options are handled in a similar way. In particular	# no-xxx sets zero or more scalars to 1.	# Process these using a hash containing the option name and	# reference to the scalars to set.	my %valid_options = (		"no-rc2" => \$no_rc2,		"no-rc4" => \$no_rc4,		"no-rc5" => \$no_rc5,		"no-idea" => \$no_idea,		"no-aes" => \$no_aes,		"no-des" => \$no_des,		"no-bf" => \$no_bf,		"no-cast" => \$no_cast,		"no-md2" => \$no_md2,		"no-md4" => \$no_md4,		"no-md5" => \$no_md5,		"no-sha" => \$no_sha,		"no-sha1" => \$no_sha1,		"no-ripemd" => \$no_ripemd,		"no-mdc2" => \$no_mdc2,		"no-patents" => 			[\$no_rc2, \$no_rc4, \$no_rc5, \$no_idea, \$no_rsa],		"no-rsa" => \$no_rsa,		"no-dsa" => \$no_dsa,		"no-dh" => \$no_dh,		"no-hmac" => \$no_hmac,		"no-aes" => \$no_aes,		"no-asm" => \$no_asm,		"nasm" => \$nasm,		"nw-nasm" => \$nw_nasm,		"nw-mwasm" => \$nw_mwasm,		"gaswin" => \$gaswin,		"no-ssl2" => \$no_ssl2,		"no-ssl3" => \$no_ssl3,		"no-err" => \$no_err,		"no-sock" => \$no_sock,		"no-krb5" => \$no_krb5,		"no-ec" => \$no_ec,		"no-ecdsa" => \$no_ecdsa,		"no-ecdh" => \$no_ecdh,		"no-engine" => \$no_engine,		"no-hw" => \$no_hw,		"just-ssl" =>			[\$no_rc2, \$no_idea, \$no_des, \$no_bf, \$no_cast,			  \$no_md2, \$no_sha, \$no_mdc2, \$no_dsa, \$no_dh,			  \$no_ssl2, \$no_err, \$no_ripemd, \$no_rc5,			  \$no_aes],		"rsaref" => 0,		"gcc" => \$gcc,		"debug" => \$debug,		"profile" => \$profile,		"shlib" => \$shlib,		"dll" => \$shlib,		"shared" => 0,		"no-gmp" => 0,		"no-shared" => 0,		"no-zlib" => 0,		"no-zlib-dynamic" => 0,		);	if (exists $valid_options{$_})		{		my $r = $valid_options{$_};		if ( ref $r eq "SCALAR")			{ $$r = 1;}		elsif ( ref $r eq "ARRAY")			{			my $r2;			foreach $r2 (@$r)				{				$$r2 = 1;				}			}		}	elsif (/^no-comp$/) { $xcflags = "-DOPENSSL_NO_COMP $xcflags"; }	elsif (/^enable-zlib$/) { $xcflags = "-DZLIB $xcflags"; }	elsif (/^enable-zlib-dynamic$/)		{		$xcflags = "-DZLIB_SHARED -DZLIB $xcflags";		}	# There are also enable-xxx options which correspond to	# the no-xxx. Since the scalars are enabled by default	# these can be ignored.	elsif (/^enable-/)		{		my $t = $_;		$t =~ s/^enable/no/;		if (exists $valid_options{$t})			{return 1;}		return 0;		}	elsif (/^--with-krb5-flavor=(.*)$/)		{		my $krb5_flavor = $1;		if ($krb5_flavor =~ /^force-[Hh]eimdal$/)			{			$xcflags="-DKRB5_HEIMDAL $xcflags";			}		elsif ($krb5_flavor =~ /^MIT/i)			{			$xcflags="-DKRB5_MIT $xcflags";		 	if ($krb5_flavor =~ /^MIT[._-]*1[._-]*[01]/i)				{				$xcflags="-DKRB5_MIT_OLD11 $xcflags"				}			}		}	elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; }	elsif (/^-[lL].*$/)	{ $l_flags.="$_ "; }	elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/)		{ $c_flags.="$_ "; }	else { return(0); }	return(1);	}

⌨️ 快捷键说明

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