summary refs log tree commit diff stats
path: root/config
diff options
context:
space:
mode:
authorFredrik Høisæther Rasch <fredrik.rasch@gmail.com>2017-11-01 14:48:46 +0100
committerAndreas Rumpf <rumpf_a@web.de>2017-11-01 14:48:46 +0100
commiteda9b303d2f7471a14a5a46ff3c100cc5357aa42 (patch)
tree035e3386523be1c64e3e320a4e4c7c4e7b6e2c35 /config
parente58eca8c057b0a683fe132774380c79eb1e4e33e (diff)
downloadNim-eda9b303d2f7471a14a5a46ff3c100cc5357aa42.tar.gz
VCC always creates debug symbols when not in release (#6397)
Use the `/Z7` option instead of `/Zi /FS` to store all debug info in the `.obj` file instead of a shared `.pdb` file
Diffstat (limited to 'config')
-rw-r--r--config/nim.cfg9
1 files changed, 7 insertions, 2 deletions
diff --git a/config/nim.cfg b/config/nim.cfg
index 7ac87cc33..6ae55a9b2 100644
--- a/config/nim.cfg
+++ b/config/nim.cfg
@@ -202,6 +202,11 @@ vcc.cpp.linkerexe = "vccexe.exe"
 
 # set the options for specific platforms:
 vcc.options.always =      "/nologo"
+@if release:
+  # no debug symbols in release builds
+@else:
+  vcc.options.always %= "${vcc.options.always} /Z7" # Get VCC to output full debug symbols in the obj file
+@end
 vcc.cpp.options.always %=  "${vcc.options.always} /EHsc"
 vcc.options.linker =      "/nologo /DEBUG /Zi /F33554432" # set the stack size to 32 MiB
 vcc.cpp.options.linker %=  "${vcc.options.linker}"
@@ -222,8 +227,8 @@ vcc.options.linker %=      "--platform:arm ${vcc.options.linker}"
 vcc.cpp.options.linker %=  "--platform:arm ${vcc.cpp.options.linker}"
 @end
 
-vcc.options.debug =     "/Zi /FS /Od"
-vcc.cpp.options.debug = "/Zi /FS /Od"
+vcc.options.debug =     "/Od"
+vcc.cpp.options.debug = "/Od"
 vcc.options.speed =     "/O2"
 vcc.cpp.options.speed = "/O2"
 vcc.options.size =     "/O1"