diff options
Diffstat (limited to 'src/lib/libcrypto/util/mk1mf.pl')
-rw-r--r-- | src/lib/libcrypto/util/mk1mf.pl | 20 |
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 | ||
14 | my $no_static_engine = 1; | 14 | my $no_static_engine = 1; |
15 | my $engines = ""; | 15 | my $engines = ""; |
16 | my $otherlibs = ""; | ||
16 | local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic | 17 | local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic |
17 | local $zlib_lib = ""; | 18 | local $zlib_lib = ""; |
18 | local $perl_asm = 0; # 1 to autobuild asm files from perl scripts | 19 | local $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 | ||
663 | foreach (split(/\s+/,$engines)) | 671 | foreach (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 | ||
682 | foreach (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 | ||
676 | print $defs; | 692 | print $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" => |