📄 configure
字号:
{ $options = $_; } else { $options .= " ".$_; } } } }if ($processor eq "386") { $disabled{"sse2"} = "forced"; }if (!defined($withargs{"krb5-flavor"}) || $withargs{"krb5-flavor"} eq "") { $disabled{"krb5"} = "krb5-flavor not specified"; }if (!defined($disabled{"zlib-dynamic"})) { # "zlib-dynamic" was specifically enabled, so enable "zlib" delete $disabled{"zlib"}; }if (defined($disabled{"rijndael"})) { $disabled{"aes"} = "forced"; }if (defined($disabled{"des"})) { $disabled{"mdc2"} = "forced"; }if (defined($disabled{"ec"})) { $disabled{"ecdsa"} = "forced"; $disabled{"ecdh"} = "forced"; }# SSL 2.0 requires MD5 and RSAif (defined($disabled{"md5"}) || defined($disabled{"rsa"})) { $disabled{"ssl2"} = "forced"; }# SSL 3.0 and TLS requires MD5 and SHA and either RSA or DSA+DHif (defined($disabled{"md5"}) || defined($disabled{"sha"}) || (defined($disabled{"rsa"}) && (defined($disabled{"dsa"}) || defined($disabled{"dh"})))) { $disabled{"ssl3"} = "forced"; $disabled{"tls1"} = "forced"; }if ($target eq "TABLE") { foreach $target (sort keys %table) { print_table_entry($target); } exit 0;}if ($target eq "LIST") { foreach (sort keys %table) { print; print "\n"; } exit 0;}if ($target =~ m/^CygWin32(-.*)$/) { $target = "Cygwin".$1;}print "Configuring for $target\n";&usage if (!defined($table{$target}));foreach (sort (keys %disabled)) { $options .= " no-$_"; printf " no-%-12s %-10s", $_, "[$disabled{$_}]"; if (/^dso$/) { $no_dso = 1; } elsif (/^threads$/) { $no_threads = 1; } elsif (/^shared$/) { $no_shared = 1; } elsif (/^zlib$/) { $zlib = 0; } elsif (/^zlib-dynamic$/) { } elsif (/^symlinks$/) { $symlink = 0; } elsif (/^sse2$/) { $no_sse2 = 1; } else { my ($ALGO, $algo); ($ALGO = $algo = $_) =~ tr/[a-z]/[A-Z]/; if (/^asm$/ || /^err$/ || /^hw$/ || /^hw-/) { $openssl_other_defines .= "#define OPENSSL_NO_$ALGO\n"; print " OPENSSL_NO_$ALGO"; if (/^err$/) { $flags .= "-DOPENSSL_NO_ERR "; } elsif (/^asm$/) { $no_asm = 1; } } else { $openssl_algorithm_defines .= "#define OPENSSL_NO_$ALGO\n"; print " OPENSSL_NO_$ALGO"; if (/^krb5$/) { $no_krb5 = 1; } else { push @skip, $algo; print " (skip dir)"; $depflags .="-DOPENSSL_NO_$ALGO "; } } } print "\n"; }my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;$IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin");$exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw");$exe_ext=".pm" if ($target =~ /vos/);$openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");$prefix=$openssldir if $prefix eq "";$default_ranlib= &which("ranlib") or $default_ranlib="true";$perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl") or $perl="perl";chop $openssldir if $openssldir =~ /\/$/;chop $prefix if $prefix =~ /\/$/;$openssldir=$prefix . "/ssl" if $openssldir eq "";$openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/;print "IsMK1MF=$IsMK1MF\n";my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);my $cc = $fields[$idx_cc];my $cflags = $fields[$idx_cflags];my $unistd = $fields[$idx_unistd];my $thread_cflag = $fields[$idx_thread_cflag];my $sys_id = $fields[$idx_sys_id];my $lflags = $fields[$idx_lflags];my $bn_ops = $fields[$idx_bn_ops];my $cpuid_obj = $fields[$idx_cpuid_obj];my $bn_obj = $fields[$idx_bn_obj];my $des_obj = $fields[$idx_des_obj];my $aes_obj = $fields[$idx_aes_obj];my $bf_obj = $fields[$idx_bf_obj];my $md5_obj = $fields[$idx_md5_obj];my $sha1_obj = $fields[$idx_sha1_obj];my $cast_obj = $fields[$idx_cast_obj];my $rc4_obj = $fields[$idx_rc4_obj];my $rmd160_obj = $fields[$idx_rmd160_obj];my $rc5_obj = $fields[$idx_rc5_obj];my $dso_scheme = $fields[$idx_dso_scheme];my $shared_target = $fields[$idx_shared_target];my $shared_cflag = $fields[$idx_shared_cflag];my $shared_ldflag = $fields[$idx_shared_ldflag];my $shared_extension = $fields[$idx_shared_extension];my $ranlib = $fields[$idx_ranlib];my $arflags = $fields[$idx_arflags];my $no_shared_warn=0;my $no_user_cflags=0;if ($flags ne "") { $cflags="$flags$cflags"; }else { $no_user_cflags=1; }# Kerberos settings. The flavor must be provided from outside, either through# the script "config" or manually.if (!$no_krb5) { my ($lresolv, $lpath, $lext); if ($withargs{"krb5-flavor"} =~ /^[Hh]eimdal$/) { die "Sorry, Heimdal is currently not supported\n"; } ##### HACK to force use of Heimdal. ##### WARNING: Since we don't really have adequate support for Heimdal, ##### using this will break the build. You'll have to make ##### changes to the source, and if you do, please send ##### patches to openssl-dev@openssl.org if ($withargs{"krb5-flavor"} =~ /^force-[Hh]eimdal$/) { warn "Heimdal isn't really supported. Your build WILL break\n"; warn "If you fix the problems, please send a patch to openssl-dev\@openssl.org\n"; $withargs{"krb5-dir"} = "/usr/heimdal" if $withargs{"krb5-dir"} eq ""; $withargs{"krb5-lib"} = "-L".$withargs{"krb5-dir"}. "/lib -lgssapi -lkrb5 -lcom_err" if $withargs{"krb5-lib"} eq "" && !$IsMK1MF; $cflags="-DKRB5_HEIMDAL $cflags"; } if ($withargs{"krb5-flavor"} =~ /^[Mm][Ii][Tt]/) { $withargs{"krb5-dir"} = "/usr/kerberos" if $withargs{"krb5-dir"} eq ""; $withargs{"krb5-lib"} = "-L".$withargs{"krb5-dir"}. "/lib -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto" if $withargs{"krb5-lib"} eq "" && !$IsMK1MF; $cflags="-DKRB5_MIT $cflags"; $withargs{"krb5-flavor"} =~ s/^[Mm][Ii][Tt][._-]*//; if ($withargs{"krb5-flavor"} =~ /^1[._-]*[01]/) { $cflags="-DKRB5_MIT_OLD11 $cflags"; } } LRESOLV: foreach $lpath ("/lib", "/usr/lib") { foreach $lext ("a", "so") { $lresolv = "$lpath/libresolv.$lext"; last LRESOLV if (-r "$lresolv"); $lresolv = ""; } } $withargs{"krb5-lib"} .= " -lresolv" if ("$lresolv" ne ""); $withargs{"krb5-include"} = "-I".$withargs{"krb5-dir"}."/include" if $withargs{"krb5-include"} eq "" && $withargs{"krb5-dir"} ne ""; }# The DSO code currently always implements all functions so that no# applications will have to worry about that from a compilation point# of view. However, the "method"s may return zero unless that platform# has support compiled in for them. Currently each method is enabled# by a define "DSO_<name>" ... we translate the "dso_scheme" config# string entry into using the following logic;my $dso_cflags;if (!$no_dso && $dso_scheme ne "") { $dso_scheme =~ tr/[a-z]/[A-Z]/; if ($dso_scheme eq "DLFCN") { $dso_cflags = "-DDSO_DLFCN -DHAVE_DLFCN_H"; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -