diff options
author | axis <qt-info@nokia.com> | 2010-03-02 09:57:10 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-03-02 10:32:25 (GMT) |
commit | bdff51768dfe7953324102ccaaca64da927c6b98 (patch) | |
tree | 21e7bdbb62d2dfd984b0dde725f1091222097cec | |
parent | a45b064645cda7d0dfe8fa55f3e9e16859bee5c5 (diff) | |
download | Qt-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.prf | 25 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 4 |
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; |