From bdff51768dfe7953324102ccaaca64da927c6b98 Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 2 Mar 2010 10:57:10 +0100 Subject: 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. --- .../linux-armcc/features/symbian_building.prf | 25 +++++++++++----------- 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; -- cgit v0.12