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 /mkspecs | |
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.
Diffstat (limited to 'mkspecs')
-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\\) |