summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/util/mk1mf.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/util/mk1mf.pl')
-rw-r--r--src/lib/libcrypto/util/mk1mf.pl20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/libcrypto/util/mk1mf.pl b/src/lib/libcrypto/util/mk1mf.pl
index 780029a03f..1dcef2b8a2 100644
--- a/src/lib/libcrypto/util/mk1mf.pl
+++ b/src/lib/libcrypto/util/mk1mf.pl
@@ -13,6 +13,7 @@ $banner="\t\@echo Building OpenSSL";
13 13
14my $no_static_engine = 1; 14my $no_static_engine = 1;
15my $engines = ""; 15my $engines = "";
16my $otherlibs = "";
16local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic 17local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic
17local $zlib_lib = ""; 18local $zlib_lib = "";
18local $perl_asm = 0; # 1 to autobuild asm files from perl scripts 19local $perl_asm = 0; # 1 to autobuild asm files from perl scripts
@@ -266,6 +267,7 @@ $cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5;
266$cflags.=" -DOPENSSL_NO_EC" if $no_ec; 267$cflags.=" -DOPENSSL_NO_EC" if $no_ec;
267$cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa; 268$cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa;
268$cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh; 269$cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh;
270$cflags.=" -DOPENSSL_NO_GOST" if $no_gost;
269$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; 271$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine;
270$cflags.=" -DOPENSSL_NO_HW" if $no_hw; 272$cflags.=" -DOPENSSL_NO_HW" if $no_hw;
271$cflags.=" -DOPENSSL_NO_JPAKE" if $no_jpake; 273$cflags.=" -DOPENSSL_NO_JPAKE" if $no_jpake;
@@ -356,6 +358,12 @@ for (;;)
356 $lib=$val; 358 $lib=$val;
357 $lib =~ s/^.*\/([^\/]+)$/$1/; 359 $lib =~ s/^.*\/([^\/]+)$/$1/;
358 } 360 }
361 if ($key eq "LIBNAME" && $no_static_engine)
362 {
363 $lib=$val;
364 $lib =~ s/^.*\/([^\/]+)$/$1/;
365 $otherlibs .= " $lib";
366 }
359 367
360 if ($key eq "EXHEADER") 368 if ($key eq "EXHEADER")
361 { $exheader.=&var_add($dir,$val, 1); } 369 { $exheader.=&var_add($dir,$val, 1); }
@@ -658,7 +666,7 @@ foreach (split(/\s+/,$test))
658 $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); 666 $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
659 } 667 }
660 668
661$defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp); 669$defs.=&do_defs("E_SHLIB",$engines . $otherlibs,"\$(ENG_D)",$shlibp);
662 670
663foreach (split(/\s+/,$engines)) 671foreach (split(/\s+/,$engines))
664 { 672 {
@@ -671,6 +679,14 @@ foreach (split(/\s+/,$engines))
671$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); 679$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
672$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)"); 680$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
673 681
682foreach (split(" ",$otherlibs))
683 {
684 my $uc = $_;
685 $uc =~ tr /a-z/A-Z/;
686 $rules.= &do_lib_rule("\$(${uc}OBJ)","\$(ENG_D)$o$_$shlibp", "", $shlib, "");
687
688 }
689
674$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); 690$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
675 691
676print $defs; 692print $defs;
@@ -708,6 +724,7 @@ sub var_add
708 return("") if $no_dsa && $dir =~ /\/dsa/; 724 return("") if $no_dsa && $dir =~ /\/dsa/;
709 return("") if $no_dh && $dir =~ /\/dh/; 725 return("") if $no_dh && $dir =~ /\/dh/;
710 return("") if $no_ec && $dir =~ /\/ec/; 726 return("") if $no_ec && $dir =~ /\/ec/;
727 return("") if $no_gost && $dir =~ /\/ccgost/;
711 return("") if $no_cms && $dir =~ /\/cms/; 728 return("") if $no_cms && $dir =~ /\/cms/;
712 return("") if $no_jpake && $dir =~ /\/jpake/; 729 return("") if $no_jpake && $dir =~ /\/jpake/;
713 if ($no_des && $dir =~ /\/des/) 730 if ($no_des && $dir =~ /\/des/)
@@ -1047,6 +1064,7 @@ sub read_options
1047 "no-ec" => \$no_ec, 1064 "no-ec" => \$no_ec,
1048 "no-ecdsa" => \$no_ecdsa, 1065 "no-ecdsa" => \$no_ecdsa,
1049 "no-ecdh" => \$no_ecdh, 1066 "no-ecdh" => \$no_ecdh,
1067 "no-gost" => \$no_gost,
1050 "no-engine" => \$no_engine, 1068 "no-engine" => \$no_engine,
1051 "no-hw" => \$no_hw, 1069 "no-hw" => \$no_hw,
1052 "just-ssl" => 1070 "just-ssl" =>