Fix WIN32 build system to correctly link ENGINE DLLs contained in a
directory: currently the GOST ENGINE is the only case.
This commit is contained in:
		
							
								
								
									
										4
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								CHANGES
									
									
									
									
									
								
							@@ -24,7 +24,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 Changes between 1.0.0a and 1.0.0b  [xx XXX xxxx]
 | 
					 Changes between 1.0.0a and 1.0.0b  [xx XXX xxxx]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  *)
 | 
					  *) Fix WIN32 build system to correctly link an ENGINE directory into
 | 
				
			||||||
 | 
					     a DLL. 
 | 
				
			||||||
 | 
					     [Steve Henson]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 Changes between 1.0.0 and 1.0.0a  [01 Jun 2010]
 | 
					 Changes between 1.0.0 and 1.0.0a  [01 Jun 2010]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,7 @@ $banner="\t\@echo Building OpenSSL";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
my $no_static_engine = 1;
 | 
					my $no_static_engine = 1;
 | 
				
			||||||
my $engines = "";
 | 
					my $engines = "";
 | 
				
			||||||
 | 
					my $otherlibs = "";
 | 
				
			||||||
local $zlib_opt = 0;	# 0 = no zlib, 1 = static, 2 = dynamic
 | 
					local $zlib_opt = 0;	# 0 = no zlib, 1 = static, 2 = dynamic
 | 
				
			||||||
local $zlib_lib = "";
 | 
					local $zlib_lib = "";
 | 
				
			||||||
local $perl_asm = 0;	# 1 to autobuild asm files from perl scripts
 | 
					local $perl_asm = 0;	# 1 to autobuild asm files from perl scripts
 | 
				
			||||||
@@ -356,6 +357,12 @@ for (;;)
 | 
				
			|||||||
		$lib=$val;
 | 
							$lib=$val;
 | 
				
			||||||
		$lib =~ s/^.*\/([^\/]+)$/$1/;
 | 
							$lib =~ s/^.*\/([^\/]+)$/$1/;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						if ($key eq "LIBNAME" && $no_static_engine)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
							$lib=$val;
 | 
				
			||||||
 | 
							$lib =~ s/^.*\/([^\/]+)$/$1/;
 | 
				
			||||||
 | 
							$otherlibs .= " $lib";
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ($key eq "EXHEADER")
 | 
						if ($key eq "EXHEADER")
 | 
				
			||||||
		{ $exheader.=&var_add($dir,$val, 1); }
 | 
							{ $exheader.=&var_add($dir,$val, 1); }
 | 
				
			||||||
@@ -658,7 +665,7 @@ foreach (split(/\s+/,$test))
 | 
				
			|||||||
	$rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
 | 
						$rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp);
 | 
					$defs.=&do_defs("E_SHLIB",$engines . $otherlibs,"\$(ENG_D)",$shlibp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
foreach (split(/\s+/,$engines))
 | 
					foreach (split(/\s+/,$engines))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -671,6 +678,14 @@ foreach (split(/\s+/,$engines))
 | 
				
			|||||||
$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
 | 
					$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
 | 
				
			||||||
$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
 | 
					$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					foreach (split(/\s+/,$otherlibs))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						my $uc = $_;
 | 
				
			||||||
 | 
						$uc =~ tr /a-z/A-Z/;	
 | 
				
			||||||
 | 
						$rules.= &do_lib_rule("\$(${uc}OBJ)","\$(ENG_D)$o$_$shlibp", "", $shlib, "");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
 | 
					$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
print $defs;
 | 
					print $defs;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user