evp/e_aes_cbc_hmac_sha256.c: give SHAEXT right priority.
[oweals/openssl.git] / util / pl / VC-32.pl
index 5cb591af5e60fea26dfc4f9ec846f1e51b502b7c..dba96cba5e75d6c1ae8ca27c9727727841975ba8 100644 (file)
@@ -27,6 +27,8 @@ $zlib_lib="zlib1.lib";
 $l_flags =~ s/-L("\[^"]+")/\/libpath:$1/g;
 $l_flags =~ s/-L(\S+)/\/libpath:$1/g;
 
+my $ff = "";
+
 # C compiler stuff
 $cc='cl';
 if ($FLAVOR =~ /WIN64/)
@@ -43,7 +45,7 @@ if ($FLAVOR =~ /WIN64/)
     # considered safe to ignore.
     # 
     $base_cflags= " $mf_cflag";
-    my $f = $shlib?' /MD':' /MT';
+    my $f = $shlib || $fips ?' /MD':' /MT';
     $opt_cflags=$f.' /Ox';
     $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
     $lflags="/nologo /subsystem:console /opt:ref";
@@ -117,7 +119,7 @@ elsif ($FLAVOR =~ /CE/)
     $base_cflags.=' -I$(WCECOMPAT)/include'            if (defined($ENV{'WCECOMPAT'}));
     $base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include'        if (defined($ENV{'PORTSDK_LIBPATH'}));
     if (`$cc 2>&1` =~ /Version ([0-9]+)\./ && $1>=14) {
-       $base_cflags.=($shlib and !$fipscanisterbuild)?' /MD':' /MT';
+       $base_cflags.=$shlib?' /MD':' /MT';
     } else {
        $base_cflags.=' /MC';
     }
@@ -128,12 +130,13 @@ elsif ($FLAVOR =~ /CE/)
 else   # Win32
     {
     $base_cflags= " $mf_cflag";
-    my $f = $shlib?' /MD':' /MT';
+    my $f = $shlib || $fips ?' /MD':' /MT';
+    $ff = "/fixed";
     $opt_cflags=$f.' /Ox /O2 /Ob2';
     $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
     $lflags="/nologo /subsystem:console /opt:ref";
     }
-$lib_cflags='/Zl' if (!$shlib);        # remove /DEFAULTLIBs from static lib
+$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
 $mlflags='';
 
 $out_def ="out32";     $out_def.="dll"                 if ($shlib);
@@ -177,7 +180,7 @@ if ($FLAVOR =~ /CE/)
                $ex_libs.= ' $(WCECOMPAT)/lib';
                if (-f "$ENV{WCECOMPAT}/lib/$ENV{TARGETCPU}/wcecompatex.lib")
                        {
-                       $ex_libs.='/$(TARGETCPU)/whecompatex.lib';
+                       $ex_libs.='/$(TARGETCPU)/wcecompatex.lib';
                        }
                else
                        {
@@ -327,21 +330,21 @@ sub do_lib_rule
                if ($fips && $target =~ /O_CRYPTO/)
                        {
                        $ret.="$target: $objs \$(PREMAIN_DSO_EXE)";
-                       $ret.="\n\tSET FIPS_LINK=\$(LINK)\n";
+                       $ret.="\n\tSET FIPS_LINK=\$(LINK_CMD)\n";
                        $ret.="\tSET FIPS_CC=\$(CC)\n";
                        $ret.="\tSET FIPS_CC_ARGS=/Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\n";
                        $ret.="\tSET PREMAIN_DSO_EXE=\$(PREMAIN_DSO_EXE)\n";
                        $ret.="\tSET FIPS_SHA1_EXE=\$(FIPS_SHA1_EXE)\n";
                        $ret.="\tSET FIPS_TARGET=$target\n";
                        $ret.="\tSET FIPSLIB_D=\$(FIPSLIB_D)\n";
-                       $ret.="\t\$(FIPSLINK) \$(MLFLAGS) /map $base_arg $efile$target ";
+                       $ret.="\t\$(FIPSLINK) \$(MLFLAGS) $ff /map $base_arg $efile$target ";
                        $ret.="$name @<<\n  \$(SHLIB_EX_OBJ) $objs \$(EX_LIBS) ";
                        $ret.="\$(OBJ_D)${o}fips_premain.obj $ex\n<<\n";
                        }
                else
                        {
                        $ret.="$target: $objs";
-                       $ret.="\n\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n  \$(SHLIB_EX_OBJ) $objs $ex \$(EX_LIBS)\n<<\n";
+                       $ret.="\n\t\$(LINK_CMD) \$(MLFLAGS) $efile$target $name @<<\n  \$(SHLIB_EX_OBJ) $objs $ex \$(EX_LIBS)\n<<\n";
                        }
                $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n";
                }
@@ -354,29 +357,36 @@ sub do_link_rule
        my($target,$files,$dep_libs,$libs,$standalone)=@_;
        local($ret,$_);
        $file =~ s/\//$o/g if $o ne '/';
-       $n=&bname($targer);
-       $ret.="$target: $files $dep_libs\n";
+       $n=&bname($target);
+       $ret.="$target: $files $dep_libs";
        if ($standalone == 1)
                {
-               $ret.="  \$(LINK) \$(LFLAGS) $efile$target @<<\n\t";
-               $ret.= "\$(EX_LIBS) " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild);
+               $ret.=" \$(OBJ_D)${o}applink.obj" if $shlib;
+               $ret.="\n";
+               $ret.="  \$(LINK_CMD) \$(LFLAGS) $efile$target @<<\n\t";
+               if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild) {
+                       $ret.= "\$(EX_LIBS) ";
+                       $ret.= "\$(OBJ_D)${o}applink.obj " if $shlib;
+               }
                $ret.="$files $libs\n<<\n";
                }
        elsif ($standalone == 2)
                {
-               $ret.="\tSET FIPS_LINK=\$(LINK)\n";
+               $ret.="\n";
+               $ret.="\tSET FIPS_LINK=\$(LINK_CMD)\n";
                $ret.="\tSET FIPS_CC=\$(CC)\n";
                $ret.="\tSET FIPS_CC_ARGS=/Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\n";
                $ret.="\tSET PREMAIN_DSO_EXE=\n";
                $ret.="\tSET FIPS_TARGET=$target\n";
                $ret.="\tSET FIPS_SHA1_EXE=\$(FIPS_SHA1_EXE)\n";
                $ret.="\tSET FIPSLIB_D=\$(FIPSLIB_D)\n";
-               $ret.="\t\$(FIPSLINK) \$(LFLAGS) /map $efile$target @<<\n";
+               $ret.="\t\$(FIPSLINK) \$(LFLAGS) $ff /map $efile$target @<<\n";
                $ret.="\t\$(APP_EX_OBJ) $files \$(OBJ_D)${o}fips_premain.obj $libs\n<<\n";
                }
        else
                {
-               $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n";
+               $ret.="\n";
+               $ret.="\t\$(LINK_CMD) \$(LFLAGS) $efile$target @<<\n";
                $ret.="\t\$(APP_EX_OBJ) $files $libs\n<<\n";
                }
        $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n";