From eda29451e958cb4981c254d48a20125988a04a45 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Thu, 12 May 2016 17:16:51 +0200 Subject: Enable -separate-debug-info for mingw toolchains Having the debug info in separate files is very helpful, especially on memory constrained 32bit systems. When the debug info is compiled into the object files, processes can run out of memory when trying to load them. Change-Id: I1808a32e855d6a62e17e1b734c511b31db5f03f1 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/win32/separate_debug_info.prf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 mkspecs/features/win32/separate_debug_info.prf (limited to 'mkspecs/features/win32') diff --git a/mkspecs/features/win32/separate_debug_info.prf b/mkspecs/features/win32/separate_debug_info.prf new file mode 100644 index 0000000000..2838020f01 --- /dev/null +++ b/mkspecs/features/win32/separate_debug_info.prf @@ -0,0 +1,18 @@ +have_target:!static:!isEmpty(QMAKE_OBJCOPY) { + load(resolve_target) + QMAKE_TARGET_DEBUG_INFO = $${QMAKE_RESOLVED_TARGET}.debug + + shell_target = $$shell_quote($$relative_path($$QMAKE_RESOLVED_TARGET, $$OUT_PWD)) + shell_target_debug_info = $$shell_quote($$relative_path($$QMAKE_TARGET_DEBUG_INFO, $$OUT_PWD)) + copy_debug_info = $$QMAKE_OBJCOPY --only-keep-debug $$shell_target $$shell_target_debug_info + link_debug_info = $$QMAKE_OBJCOPY --add-gnu-debuglink=$$shell_target_debug_info $$shell_target + strip_debug_info = $$QMAKE_OBJCOPY --strip-debug $$shell_target + + !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK + + QMAKE_POST_LINK = $$copy_debug_info && $$strip_debug_info && $$link_debug_info $$QMAKE_POST_LINK + silent:QMAKE_POST_LINK = @echo creating $@.debug && $$QMAKE_POST_LINK + + target.targets += $$QMAKE_TARGET_DEBUG_INFO + QMAKE_DISTCLEAN += $$QMAKE_TARGET_DEBUG_INFO +} -- cgit v1.2.3