Commit 2af6370b authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Expanded boundary support for VC++ build.

parent eee04c54
Loading
Loading
Loading
Loading
+43 −2
Original line number Diff line number Diff line
@@ -279,7 +279,8 @@ $ex_libs="$l_flags$ex_libs" if ($l_flags ne "");


%shlib_ex_cflags=("SSL" => " -DOPENSSL_BUILD_SHLIBSSL",
		  "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO");
		  "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO",
		  "FIPS" => " -DOPENSSL_BUILD_SHLIBCRYPTO");

if ($msdos)
	{
@@ -362,6 +363,12 @@ for (;;)
	if ($key eq "LIBOBJ")
		{ $libobj=&var_add($dir,$val); }

	if ($key eq "FIPS_EX_OBJ")
		{ 
		$val =~ s|\.\./crypto/||g;
		$fips_ex_obj=&var_add("crypto",$val);
		}

	if ($key eq "FIPSLIBDIR")
		{ $fipslibdir=$val;}

@@ -373,6 +380,41 @@ for (;;)
	}
close(IN);


if ($fips)
	{
	 
	foreach (split " ", $fips_ex_obj)
		{
		$fips_exclude_obj{$1} = 1 if (/\/([^\/]*)$/);
		}

	# $fips_exclude_obj{"bn_asm"} = 1;

	my @ltmp = split " ", $lib_obj{"CRYPTO"};


	$lib_obj{"CRYPTO"} = "";

	foreach(@ltmp)
		{
		if (/\/bn_asm$/)
			{
			$lib_obj{"FIPS"} .= "$_ ";
			}
		elsif (!/\/([^\/]*)$/ || !exists $fips_exclude_obj{$1})
			{
			$lib_obj{"CRYPTO"} .= "$_ ";
			}
		}

	if ($fipscanisterbuild)
		{
		$lib_obj{"FIPS"} .= $fips_ex_obj;
		}

	}

if ($fipscanisterbuild)
	{
	$fips_canister_path = "\$(LIB_D)${o}fipscanister.o";
@@ -1147,7 +1189,6 @@ sub read_options
		}
	elsif (/^--fipscanisterbuild$/)
		{
		print STDERR "FIPS CANISTER BUILD\n";
		$fipscanisterbuild=1;
		}
	elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; }
+5 −3
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@

$ssl=	"ssleay32";

my $mwex =" \$(FIPSLIB_D)${o}_chkstk.o \$(FIPSLIB_D)${o}_udivdi3.o \$(FIPSLIB_D)${o}_umoddi3.o";

if ($fips && !$shlib)
	{
	$crypto="libeayfips32";
@@ -136,7 +138,7 @@ sub do_lib_rule
#		$ret.="\t\$(RM) \$(O_$Name)\n";
		$ret.="$target: $objs\n";
		$ex =' advapi32.lib';
 		$ex.=" \$(FIPSLIB_D)${o}_chkstk.o" if $fips && !$fipscanisterbuild && $target =~ /O_CRYPTO/;
		$ex.= $mwex if $fips && !$fipscanisterbuild && $target =~ /O_CRYPTO/;
		$ret.="\t\$(MKLIB) $lfile$target @<<\n  $objs $ex\n<<\n";
		}
	else
@@ -146,7 +148,7 @@ sub do_lib_rule
 		$ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/;
 		if ($fips && $target =~ /O_CRYPTO/)
			{
 			$ex.=" \$(FIPSLIB_D)${o}_chkstk.o" unless $fipscanisterbuild;
			$ex.= $mwex unless $fipscanisterbuild;
			$ret.="$target: $objs \$(PREMAIN_DSO_EXE)\n";
			$ret.="\tSET FIPS_LINK=\$(LINK)\n";
			$ret.="\tSET FIPS_CC=\$(CC)\n";
@@ -179,7 +181,7 @@ sub do_link_rule
	if ($standalone)
		{
		$ret.="  \$(LINK) \$(LFLAGS) $efile$target @<<\n\t";
		$ret.="\$(FIPSLIB_D)${o}_chkstk.o " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild);
		$ret.= "$mwex advapi32.lib " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild);
		$ret.="$files $libs\n<<\n";
		}
	elsif ($fips && !$shlib)