From 6c6fde809a5f380b2a1bab99e45c4c085fbcfb9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 2 Dec 2013 12:44:14 +0100 Subject: iOS: Use DWARF instead of DWARF with dSYM for debug builds Generating the dSYM file takes a long time due to our relatively large static libraries, and is not really useful for a debug build where you are likely to have the object files and Qt libraries available on your host system for debugging anyways. Change-Id: Ie7549975f271de8c56ca04bd28b29e6ed65f16cb Reviewed-by: Simon Hausmann --- mkspecs/macx-ios-clang/features/default_post.prf | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/macx-ios-clang/features/default_post.prf b/mkspecs/macx-ios-clang/features/default_post.prf index 262a8f1889..c5ac57f949 100644 --- a/mkspecs/macx-ios-clang/features/default_post.prf +++ b/mkspecs/macx-ios-clang/features/default_post.prf @@ -183,6 +183,22 @@ macx-xcode { QMAKE_SUBSTITUTES += copy_image launch_images.files = $$copy_image.output QMAKE_BUNDLE_DATA += launch_images + + # Make the default debug information format for debug builds + # DWARF instead of DWARF with dSYM. This cuts down build times + # for application debug builds significantly, as Xcode doesn't + # have to pull out all the DWARF info from our static libraries + # and put it into a dSYM file. We don't need that dSYM file in + # the first place, since the information is available in the + # object files inside the archives (static libraries). The only + # unfortunate side effect of this is that the user won't be + # able to break on specific lines of main(). This is due to + # using ld to rename the main-function, and will go away once + # we implement a separate tool to do the symbol renaming. + debug_information_format.name = DEBUG_INFORMATION_FORMAT + debug_information_format.value = dwarf + debug_information_format.build = debug + QMAKE_MAC_XCODE_SETTINGS += debug_information_format } macx-xcode { -- cgit v1.2.3 From 53f48a4ba2a527735fd67968a211052a8eda00dc Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 20 Nov 2013 15:14:52 +0100 Subject: properly replace windows paths in installed meta files it's bogus in the first place that the meta files contain windows paths, but straightening that out is a prohibitive effort. so instead generate additional s/// commands which take care of these paths. fwiw, the generated s///i command is a gnu extension. but as we are doing this on windows only where we are using our built-in sed command anyway, this should be fine. Task-number: QTBUG-33794 Change-Id: I46fcc598db12816ee56b5371ab184f6277eb3a22 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_module.prf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 5068f7028f..84882ccbc2 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -146,8 +146,10 @@ unix|win32-g++* { rplbase = $$MODULE_BASE_OUTDIR include_replace.match = $$rplbase/include include_replace.replace = $$[QT_INSTALL_HEADERS/raw] + include_replace.CONFIG = path lib_replace.match = $$rplbase/lib lib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR + lib_replace.CONFIG = path QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace } -- cgit v1.2.3 From 08a2d8df4943453a0df8c02a88cfb29f210d0a10 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 25 Nov 2013 17:52:37 +0100 Subject: enable path replacement in installed prl files on all platforms Task-number: QTBUG-33794 Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_module.prf | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 84882ccbc2..11509eeb40 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -131,32 +131,33 @@ android: CONFIG += qt_android_deps #install directives load(qt_installs) +!isEmpty(_QMAKE_SUPER_CACHE_): \ + rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* +else: \ + rplbase = $$MODULE_BASE_OUTDIR +include_replace.match = $$rplbase/include +include_replace.replace = $$[QT_INSTALL_HEADERS/raw] +include_replace.CONFIG = path +lib_replace.match = $$rplbase/lib +host_build: \ + lib_replace.replace = $$[QT_HOST_LIBS] +else: \ + lib_replace.replace = $$[QT_INSTALL_LIBS/raw] +lib_replace.CONFIG = path +QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace + unix|win32-g++* { CONFIG += create_pc - host_build: \ - QMAKE_PKGCONFIG_LIBDIR = $$[QT_HOST_LIBS] - else: \ - QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw] - QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] + QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace + QMAKE_PKGCONFIG_INCDIR = $$include_replace.replace QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME QMAKE_PKGCONFIG_DESTDIR = pkgconfig - !isEmpty(_QMAKE_SUPER_CACHE_): \ - rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* - else: \ - rplbase = $$MODULE_BASE_OUTDIR - include_replace.match = $$rplbase/include - include_replace.replace = $$[QT_INSTALL_HEADERS/raw] - include_replace.CONFIG = path - lib_replace.match = $$rplbase/lib - lib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR - lib_replace.CONFIG = path QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace - QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace } unix { CONFIG += create_libtool explicitlib - QMAKE_LIBTOOL_LIBDIR = $$QMAKE_PKGCONFIG_LIBDIR + QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace } -- cgit v1.2.3