summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2010-03-02 09:57:10 (GMT)
committeraxis <qt-info@nokia.com>2010-03-02 10:32:25 (GMT)
commitbdff51768dfe7953324102ccaaca64da927c6b98 (patch)
tree21e7bdbb62d2dfd984b0dde725f1091222097cec
parenta45b064645cda7d0dfe8fa55f3e9e16859bee5c5 (diff)
downloadQt-bdff51768dfe7953324102ccaaca64da927c6b98.zip
Qt-bdff51768dfe7953324102ccaaca64da927c6b98.tar.gz
Qt-bdff51768dfe7953324102ccaaca64da927c6b98.tar.bz2
Added dso dependencies to Symbian targets.
This is required for correct intermodule building when def files are off, since otherwise the ordinals present in the DLLs and the ordinals linked to may be different. In layman's terms: If you build QtCore, QtGui will also trigger rebuilding as a result of that.
-rw-r--r--mkspecs/symbian/linux-armcc/features/symbian_building.prf25
-rw-r--r--qmake/generators/unix/unixmake2.cpp4
2 files changed, 17 insertions, 12 deletions
diff --git a/mkspecs/symbian/linux-armcc/features/symbian_building.prf b/mkspecs/symbian/linux-armcc/features/symbian_building.prf
index ef8e4e6..795d055 100644
--- a/mkspecs/symbian/linux-armcc/features/symbian_building.prf
+++ b/mkspecs/symbian/linux-armcc/features/symbian_building.prf
@@ -14,27 +14,28 @@ contains(QMAKE_CFLAGS, "--thumb")|contains(QMAKE_CXXFLAGS, "--thumb") {
DEFINES += __MARM_THUMB__
}
-for(libraries, LIBS) {
- libraries = $$replace(libraries, "\.dll$", ".dso")
- isFullName = $$find(libraries, \.)
+defineReplace(processSymbianLibraries) {
+ library = $$replace(1, "\.dll$", ".dso")
+ isFullName = $$find(library, \.)
isEmpty(isFullName) {
- newLIBS += "$${libraries}.dso"
+ newLIB = "$${library}.dso"
} else {
- newLIBS += "$${libraries}"
+ newLIB = "$${library}"
}
+ return($$newLIB)
+}
+
+for(libraries, LIBS) {
+ newLIBS += $$processSymbianLibraries($$libraries)
}
LIBS = $$newLIBS
+PRE_TARGETDEPS += $$replace(newLIBS, "-l", "")
newLIBS =
for(libraries, QMAKE_LIBS) {
- libraries = $$replace(libraries, "\.dll$", ".dso")
- isFullName = $$find(libraries, \.)
- isEmpty(isFullName) {
- newLIBS += "$${libraries}.dso"
- } else {
- newLIBS += "$${libraries}"
- }
+ newLIBS += $$processSymbianLibraries($$libraries)
}
QMAKE_LIBS = $$newLIBS
+PRE_TARGETDEPS += $$replace(newLIBS, "-l", "")
# This needs to be done after the above LIBS mangling.
include(../platformlibs.conf)
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 6516786..cff0138 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -177,6 +177,10 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
if(!project->isEmpty("QMAKE_MACOSX_DEPLOYMENT_TARGET"))
t << "export MACOSX_DEPLOYMENT_TARGET = " //exported to children processes
<< project->first("QMAKE_MACOSX_DEPLOYMENT_TARGET") << endl;
+
+ if (!project->isEmpty("QMAKE_SYMBIAN_SHLIB"))
+ t << "vpath %.dso " << project->values("QMAKE_LIBDIR").join(":") << endl;
+
t << endl;
t << "####### Output directory" << endl << endl;