aboutsummaryrefslogtreecommitdiff
path: root/openssl/util/pl/VC-32.pl
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/util/pl/VC-32.pl')
-rwxr-xr-x[-rw-r--r--]openssl/util/pl/VC-32.pl47
1 files changed, 30 insertions, 17 deletions
diff --git a/openssl/util/pl/VC-32.pl b/openssl/util/pl/VC-32.pl
index 3705fc73b..af9176b2f 100644..100755
--- a/openssl/util/pl/VC-32.pl
+++ b/openssl/util/pl/VC-32.pl
@@ -16,7 +16,7 @@ else
$crypto="libeay32";
}
-$o='\\';
+$o='/';
$cp='$(PERL) util/copy.pl';
$mkdir='$(PERL) util/mkdir-p.pl';
$rm='del /Q';
@@ -45,11 +45,12 @@ if ($FLAVOR =~ /WIN64/)
# considered safe to ignore.
#
$base_cflags= " $mf_cflag";
- my $f = $shlib || $fips ?' /MD':' /MT';
+ my $f = ' /MD';
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
- $opt_cflags=$f.' /Ox';
- $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /subsystem:console /opt:ref";
+ $opt_cflags=$f.' /O2 /Ob2 /Oi /Ox /Oy /Ot /GL /Gy /GF /Zi';
+ $dbg_cflags=$f.'d /RTCc /RTC1 /Od /GS /GR /Gy /GF /Zi';
+ $lflags="/NOLOGO /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG:STATUS";
+ $lflagsd="/NOLOGO /SUBSYSTEM:CONSOLE";
*::perlasm_compile_target = sub {
my ($target,$source,$bname)=@_;
@@ -121,23 +122,26 @@ elsif ($FLAVOR =~ /CE/)
$base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include' if (defined($ENV{'PORTSDK_LIBPATH'}));
$opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics...
$dbg_cflags=' /MC /Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /opt:ref $wcelflag";
+ $lflags="/NOLOGO /OPT:REF /OPT:ICF /LTCG:STATUS $wcelflag";
+ $lflagsd="/NOLOGO $wcelflag";
}
else # Win32
{
$base_cflags= " $mf_cflag";
- my $f = $shlib || $fips ?' /MD':' /MT';
+
+ my $f = ' /MD';
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
$ff = "/fixed";
- $opt_cflags=$f.' /Ox /O2 /Ob2';
- $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /subsystem:console /opt:ref";
+ $opt_cflags=$f.' /O2 /Ob2 /Oi /Ox /Oy /Ot /GL /Gy /GF /Zi';
+ $dbg_cflags=$f.'d /RTCc /RTC1 /Od /GS /GR /Gy /GF /Zi';
+ $lflags="/NOLOGO /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG:STATUS";
+ $lflagsd="/NOLOGO /SUBSYSTEM:CONSOLE";
}
$mlflags='';
-$out_def ="out32"; $out_def.="dll" if ($shlib);
+$out_def ="\$(OUT_D)"; $out_def.="dll" if ($shlib);
$out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
-$tmp_def ="tmp32"; $tmp_def.="dll" if ($shlib);
+$tmp_def ="\$(TMP_D)"; $tmp_def.="dll" if ($shlib);
$tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
$inc_def="inc32";
@@ -148,12 +152,14 @@ if ($debug)
else
{
$cflags=$opt_cflags.$base_cflags;
+ $cdflags=$dbg_cflags.$base_cflags;
}
# generate symbols.pdb unconditionally
$app_cflag.=" /Zi /Fd\$(TMP_D)/app";
$lib_cflag.=" /Zi /Fd\$(TMP_D)/lib";
-$lflags.=" /debug";
+$lflags.=" /DEBUG";
+$lflagsd.=" /DEBUG";
$obj='.obj';
$asm_suffix='.asm';
@@ -183,8 +189,10 @@ else
$ex_libs="unicows.lib $ex_libs" if ($FLAVOR =~ /WIN32/ and $cflags =~ /\-DUNICODE/);
}
+ $cdflags.=" -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE";
# static library stuff
-$mklib='lib /nologo';
+$mklib='lib /nologo /LTCG';
+$mklibd='lib /nologo';
$ranlib='';
$plib="";
$libp=".lib";
@@ -239,11 +247,16 @@ if (!$no_asm)
win32_import_asm($mf_wp_asm, "whrlpool", \$whirlpool_asm_obj, \$whirlpool_asm_src);
win32_import_asm($mf_cpuid_asm, "", \$cpuid_asm_obj, \$cpuid_asm_src);
$perl_asm = 1;
+ if ($FLAVOR =~ /WIN64A/) {
+ $cdflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+ } else {
+ $cdflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+ }
}
if ($shlib && $FLAVOR !~ /CE/)
{
- $mlflags.=" $lflags /dll";
+ $mlflags.=" $lflags /DLL";
$lib_cflag.=" -D_WINDLL";
#
# Engage Applink...
@@ -272,8 +285,8 @@ ___
}
elsif ($shlib && $FLAVOR =~ /CE/)
{
- $mlflags.=" $lflags /dll";
- $lflags.=' /entry:mainCRTstartup' if(defined($ENV{'PORTSDK_LIBPATH'}));
+ $mlflags.=" $lflags /DLL";
+ $lflags.=' /ENTRY:mainCRTstartup' if(defined($ENV{'PORTSDK_LIBPATH'}));
$lib_cflag.=" -D_WINDLL -D_DLL";
}