diff options
author | axis <qt-info@nokia.com> | 2010-03-02 12:16:55 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-03-02 12:16:55 (GMT) |
commit | 34898eaa384684c74786cd59fc322054c8888c51 (patch) | |
tree | b29c7cd5a54019ddbab0d1144ba5c0864c9a62a6 | |
parent | bdff51768dfe7953324102ccaaca64da927c6b98 (diff) | |
download | Qt-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.
-rw-r--r-- | mkspecs/symbian/linux-armcc/features/symbian_building.prf | 11 |
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\\) |