diff --git a/SCons/Config/ms b/SCons/Config/ms index 11c22989..ecd9548a 100644 --- a/SCons/Config/ms +++ b/SCons/Config/ms @@ -18,12 +18,16 @@ defenv['SUBSYS_CON'] = '/subsystem:console' defenv['MSVCRT_FLAG'] = '/MD' defenv['STDCALL'] = '__stdcall' -if float(defenv['MSVS_VERSION'].replace('Exp','')) >= 8.0: +msvs_version = float(defenv['MSVS_VERSION'].replace('Exp','')) +if msvs_version >= 8.0: defenv['EXCEPTION_FLAG'] = '/EHsc' defenv.Append(CCFLAGS = ['/GS-']) defenv.Append(CPPDEFINES = ['_CRT_SECURE_NO_WARNINGS', '_CRT_NONSTDC_NO_WARNINGS', '_CRT_SECURE_NO_DEPRECATE', '_CRT_NON_CONFORMING_SWPRINTFS']) else: defenv['EXCEPTION_FLAG'] = '/GX' +if msvs_version < 10.0: + # not even /ALIGN:512 works for vc10... fails to load process + defenv.Append(LINKFLAGS = ['/opt:nowin98']) ### defines @@ -99,13 +103,11 @@ stub_env.Append(CPPPATH = ['#$BUILD_CONFIG']) if not defenv['DEBUG']: stub_env.Append(CCFLAGS = ['/O1']) # optimize for size stub_env.Append(CCFLAGS = ['/W3']) # level 3 warnings - -stub_env.Append(LINKFLAGS = ['/opt:nowin98']) # 512 bytes align +stub_env.Append(CCFLAGS = ['/FAcs']) # full listing files +stub_env.Append(CCFLAGS = ['/Fa${TARGET}.lst']) # listing file name stub_env.Append(LINKFLAGS = ['$NODEFLIBS_FLAG']) # no default libraries stub_env.Append(LINKFLAGS = ['$MAP_FLAG']) # generate map file -stub_env.Append(CCFLAGS = ['/FAcs']) # full listing files -stub_env.Append(CCFLAGS = ['/Fa${TARGET}.lst']) # listing file name stub_uenv = stub_env.Clone() stub_uenv.Append(LINKFLAGS = ['/entry:wWinMain']) # Unicode entry point @@ -125,7 +127,6 @@ makensis_env.Append(CCFLAGS = ['/W3']) # level 3 warnings makensis_env.Append(CCFLAGS = ['/FAcs']) # full listing files makensis_env.Append(CCFLAGS = ['/Fa${TARGET}.lst']) # listing file name -makensis_env.Append(LINKFLAGS = ['/opt:nowin98']) # 512 bytes align makensis_env.Append(LINKFLAGS = ['$MAP_FLAG']) # generate map file if defenv['UNICODE']: makensis_env.Append(LINKFLAGS = ['/STACK:2097152']) # need 2 MB of stack in Unicode (default is 1 MB) @@ -138,7 +139,6 @@ if not defenv['DEBUG']: plugin_env.Append(CCFLAGS = ['/O1']) # optimize for size plugin_env.Append(CCFLAGS = ['/W3']) # level 3 warnings -plugin_env.Append(LINKFLAGS = ['/opt:nowin98']) # 512 bytes align plugin_env.Append(LINKFLAGS = ['$MAP_FLAG']) # generate map file plugin_uenv = plugin_env.Clone() @@ -152,7 +152,6 @@ if not defenv['DEBUG']: util_env.Append(CCFLAGS = ['/O1']) # optimize for speed util_env.Append(CCFLAGS = ['/W3']) # level 3 warnings -util_env.Append(LINKFLAGS = ['/opt:nowin98']) # 512 bytes align util_env.Append(LINKFLAGS = ['$MAP_FLAG']) # generate map file ### cross-platform util environment