<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MultiProcessorCompilation>false</MultiProcessorCompilation>
- <AdditionalOptions>/FS %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
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