summaryrefslogtreecommitdiffstats
path: root/mkspecs/symbian
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2010-03-02 12:16:55 (GMT)
committeraxis <qt-info@nokia.com>2010-03-02 12:16:55 (GMT)
commit34898eaa384684c74786cd59fc322054c8888c51 (patch)
treeb29c7cd5a54019ddbab0d1144ba5c0864c9a62a6 /mkspecs/symbian
parentbdff51768dfe7953324102ccaaca64da927c6b98 (diff)
downloadQt-34898eaa384684c74786cd59fc322054c8888c51.zip
Qt-34898eaa384684c74786cd59fc322054c8888c51.tar.gz
Qt-34898eaa384684c74786cd59fc322054c8888c51.tar.bz2
Enabled conditional updating of dso files.
This saves rebuilding of components that depend on the current one, by not updating the dso file unless it has changed.
Diffstat (limited to 'mkspecs/symbian')
-rw-r--r--mkspecs/symbian/linux-armcc/features/symbian_building.prf11
1 files changed, 9 insertions, 2 deletions
diff --git a/mkspecs/symbian/linux-armcc/features/symbian_building.prf b/mkspecs/symbian/linux-armcc/features/symbian_building.prf
index 795d055..dab2fbf 100644
--- a/mkspecs/symbian/linux-armcc/features/symbian_building.prf
+++ b/mkspecs/symbian/linux-armcc/features/symbian_building.prf
@@ -91,19 +91,26 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
QMAKE_POST_LINK = $$replace(QMAKE_POST_LINK, "^@", "")
QMAKE_POST_LINK = && $$QMAKE_POST_LINK
}
- # the tee and grep at the end work around the issue that elf2e32 doesn't return non-null on error
+ # The tee and grep at the end work around the issue that elf2e32 doesn't return non-null on error.
+ # The comparison of dso files is to avoid extra building of modules that depend on this dso, in
+ # case it has not changed.
QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${TARGET}.dll $$symbianDestdir/$${TARGET}.sym \
&& elf2e32 --version=$$decVersion --sid=$$TARGET.SID --uid1=0x10000079 \
--uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 \
--stack=0x00014000 --fpu=softvfp --targettype=DLL \
--elfinput=$${symbianDestdir}/$${TARGET}.sym --output=$${symbianDestdir}/$${TARGET}.dll \
- --dso=$$symbianDestdir/$${TARGET}.dso --defoutput=$$symbianObjdir/$${TARGET}.def \
+ --dso=$$symbianObjdir/$${TARGET}.dso --defoutput=$$symbianObjdir/$${TARGET}.def \
--unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll \
--compressionmethod bytepair $$elf2e32_LIBPATH --unpaged $$capability \
| tee elf2e32.log && test `grep -c 'Error:' elf2e32.log` = 0 && rm elf2e32.log \
+ && if ! diff -q $${symbianObjdir}/$${TARGET}.dso $${symbianDestdir}/$${TARGET}.dso \
+ > /dev/null 2>&1; then \
+ $$QMAKE_COPY $${symbianObjdir}/$${TARGET}.dso $${symbianDestdir}/$${TARGET}.dso; \
+ fi \
$$QMAKE_POST_LINK
QMAKE_DISTCLEAN += $${symbianDestdir}/$${TARGET}.sym
QMAKE_DISTCLEAN += $${symbianDestdir}/$${TARGET}.dso
+ QMAKE_CLEAN += $${symbianObjdir}/$${TARGET}.dso
QMAKE_CLEAN += $${symbianObjdir}/$${TARGET}.def
QMAKE_LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\)