From: Bart House Date: Wed, 30 Aug 2017 04:26:12 +0000 (-0700) Subject: Improve Visual Studio 2015 build. X-Git-Tag: NetHack-3.6.1_RC01~412^2~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=98266801b6db67807a5101d648e088d24896aaa9;p=nethack Improve Visual Studio 2015 build. --- diff --git a/win/win32/.gitignore b/win/win32/.gitignore index 00483b5c1..5f3465e5f 100644 --- a/win/win32/.gitignore +++ b/win/win32/.gitignore @@ -3,3 +3,5 @@ *.ico *.db record +*.user + diff --git a/win/win32/vs2015/common.props b/win/win32/vs2015/common.props index d39cf4616..2504e3912 100644 --- a/win/win32/vs2015/common.props +++ b/win/win32/vs2015/common.props @@ -10,8 +10,6 @@ Level3 WIN32;CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - false - /FS %(AdditionalOptions) Console @@ -27,7 +25,6 @@ true - /SAFESEH:NO %(AdditionalOptions) diff --git a/win/win32/vs2015/notes.txt b/win/win32/vs2015/notes.txt index d0aaf24e1..c63113fd9 100644 --- a/win/win32/vs2015/notes.txt +++ b/win/win32/vs2015/notes.txt @@ -1,7 +1,47 @@ Changes made to vs2015 build -1. allow solution to be used in place +Changes +1. Removed the use of /FS. +2. Allow multi-processor compilation. -To Do +Questions -1. win\share\tiletxt.c is copied from win\share\tilemap.c ... use tilemap.c instead directly. +1. Why is /Gs used? This initiates stack probes for every function call (not just functions that use more then 4k)? +2. Why is /Oi- used? This turns off compiler intrinsics. +3. Why is /FS used? This forces serialization of writes to PDB. This really isn't needed. +4. Why are we disabling optimizations for release builds? +5. Why are we omitting frame pointers? Makes debugging harder. Crash dumps less usefull. +6. Why are we forcing function level linking? +7. Why are we turning off intrinsics (again)? +8. Why are we enabling additional security checks? (SDLCheck) +9. Why are we using string pooling? +10. Why do we turn off multi-processor compilation? + +Nethack Compiler Settings - Release +/Gs +/Oi- +/FS +Optimizations:Disabled +WarningLevel:Level3 +InlineFunctionExpansion:Default +FavorSizeOrSpeed:Speed +OmitFramePointers:true +Optimization:MaxSpeed +FunctionLevelLinking:true +IntrinsicFunctions:false +PreprocessorDefinitions:TILES;MSWIN_GRAPHICS;WIN32;WIN32CON;DLB;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_CONSOLE;_LIB; +SDLCheck:true +AdditionalIncludeDirectories:..\win\win32;..\include;..\sys\winnt;..\sys\share;..\win\share; +StringPooling:true +RuntimeLibrary:MultiThreaded +SuppressStartupBanner:true +MultiProcessorCompilation:false + +Nethack Link Settings - Release +SubSystem:Console +GenetateDebugInformation:true +EnableCOMDATFolding:true +OptimizeReferenes:true +AdditionalDependencies:kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib; +SuppressStartupBanner:true +TargetMachine:MachineX86