From 26e538b6db3c938191e112d25ef5268bbbb0c44f Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 12 Mar 2015 12:33:18 +0100 Subject: Fix installation of separate debug info Since quoting was fixed, separate debug info has no longer installed correctly because it relied on executing shell commands in the target name. This cleans up the generation and installation of separate debug info by using resolve_target.prf. Change-Id: I3ee47c0e4dc3de600c42f56b17315a69925c4724 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/unix/separate_debug_info.prf | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/unix/separate_debug_info.prf b/mkspecs/features/unix/separate_debug_info.prf index 394d5f42bc..2a3033df94 100644 --- a/mkspecs/features/unix/separate_debug_info.prf +++ b/mkspecs/features/unix/separate_debug_info.prf @@ -9,19 +9,21 @@ have_target:!static:!isEmpty(QMAKE_OBJCOPY) { debug_info_keep = --only-keep-debug debug_info_strip = --strip-debug } - QMAKE_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; targ=`basename $(TARGET)`; $$QMAKE_OBJCOPY $$debug_info_keep \"\$\$targ\" \"\$\$targ.$$debug_info_suffix\" && $$QMAKE_OBJCOPY $$debug_info_strip \"\$\$targ\" && $$QMAKE_OBJCOPY --add-gnu-debuglink=\"\$\$targ.$$debug_info_suffix\" \"\$\$targ\" && chmod -x \"\$\$targ.$$debug_info_suffix\" - QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.$$debug_info_suffix $(INSTALL_ROOT)/\$\$target_path/ + load(resolve_target) + QMAKE_TARGET_DEBUG_INFO = $${QMAKE_RESOLVED_TARGET}.$$debug_info_suffix + + 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 $$debug_info_keep $$shell_target $$shell_target_debug_info + strip_debug_info = $$QMAKE_OBJCOPY $$debug_info_strip $$shell_target + link_debug_info = $$QMAKE_OBJCOPY --add-gnu-debuglink=$$shell_target_debug_info $$shell_target + chmod_debug_info = chmod -x $$shell_target_debug_info !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK - QMAKE_POST_LINK = $$QMAKE_SEPARATE_DEBUG_INFO $$QMAKE_POST_LINK + QMAKE_POST_LINK = $$copy_debug_info $$escape_expand(\\n\\t)$$strip_debug_info $$escape_expand(\\n\\t)$$link_debug_info $$escape_expand(\\n\\t)$$chmod_debug_info $$QMAKE_POST_LINK silent:QMAKE_POST_LINK = @echo creating $@.$$debug_info_suffix && $$QMAKE_POST_LINK - isEmpty(DESTDIR) { - target.targets += "`basename $(TARGET)`.$$debug_info_suffix" - QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$debug_info_suffix" - } else { - target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix" - QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix" - } + target.targets += $$QMAKE_TARGET_DEBUG_INFO + QMAKE_DISTCLEAN += $$QMAKE_TARGET_DEBUG_INFO } -- cgit v1.2.3