On Fri, Aug 26, 2016 at 12:01 PM, Scott Ware <wsw...@gmail.com> wrote: > When building with Visual Studio 2008 SSE is disabled by default. When > building with Visual Studio 2012 and above you must supply a new flag > /arch:IA32 to not build with SSE. Would it be acceptable to update the > Configure process to add the /arch:IA32 if Visual Studio 2012 or > greater is detected? This applies to the normal C code. We ran into > issues when running on an AMD Geode processor. > > I tested changing the VC-32.pl on OpenSSL 1.0.2g and it worked well, > but I see the whole build process has changed in Current. I wanted to > find out if this is an acceptable change before I figure out the new > Configure process and submit a patch. >
Something like this will work diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 2838c3d..4b33156 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -23,18 +23,24 @@ sub vc_win64a_info { my $vc_win32_info = {}; sub vc_win32_info { unless (%$vc_win32_info) { + my $arch=""; + if (`nmake /? 2>&1` =~ /Version ([0-9]+\.[0-9]+)/ && $1 >= 11.0) { + $arch="/arch:IA32"; + } my $ver=`nasm -v 2>NUL`; my $vew=`nasmw -v 2>NUL`; if ($ver ne "" || $vew ne "") { $vc_win32_info = { as => $ver ge $vew ? "nasm" : "nasmw", asflags => "-f win32", asoutflag => "-o", - perlasm_scheme => "win32n" }; + perlasm_scheme => "win32n", + cflags => $arch }; } elsif ($disabled{asm}) { $vc_win32_info = { as => "ml", asflags => "/nologo /Cp /coff /c /Cx /Zi", asoutflag => "/Fo", - perlasm_scheme => "win32" }; + perlasm_scheme => "win32", + cflags => $arch }; } else { die "NASM not found - please read INSTALL and NOTES.WIN for further details\n"; } @@ -1335,6 +1341,9 @@ sub vms_info { as => sub { vc_win32_info()->{as} }, asflags => sub { vc_win32_info()->{asflags} }, asoutflag => sub { vc_win32_info()->{asoutflag} }, + lib_cflags => add( sub { vc_win32_info()->{cflags} } ), + dso_cflags => add( sub { vc_win32_info()->{cflags} } ), + bin_cflags => add( sub { vc_win32_info()->{cflags} } ), ex_libs => add(sub { my @ex_libs = (); # WIN32 UNICODE build gets linked with unicows.lib for -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev