From: Oswald Buddenhagen Date: Tue, 20 Mar 2012 18:34:41 +0000 (+0100) Subject: support relative Sysroot specification in qt.conf X-Git-Tag: qt-v5.0.0-alpha1~126 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d28fba3edc9fa749ecf4b89badd8a936bb449fb;p=profile%2Fivi%2Fqtbase.git support relative Sysroot specification in qt.conf permits relocatable qmake installations in, say, $sysroot/hosttools/. note that it makes patently no sense to have a relative Prefix when using a relative Sysroot. Change-Id: I36e5149acb20a885c3cd244bc9d67aa48b01a56f Reviewed-by: Joerg Bornemann --- diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index d319b2e..801b4d9 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -318,13 +318,11 @@ QLibraryInfo::rawLocation(LibraryLocation loc) if (!ret.isEmpty() && QDir::isRelativePath(ret)) { QString baseDir; #ifdef QT_BUILD_QMAKE - if (loc == HostPrefixPath || loc == PrefixPath) { - // We make the prefix path absolute to the executable's directory. + if (loc == HostPrefixPath || loc == PrefixPath || loc == SysrootPath) { + // We make the prefix/sysroot path absolute to the executable's directory. // loc == PrefixPath while a sysroot is set would make no sense here. + // loc == SysrootPath only makes sense if qmake lives inside the sysroot itself. baseDir = QFileInfo(qmake_libraryInfoFile()).absolutePath(); - } else if (loc == SysrootPath) { - // The sysroot is bare - return ret; } else if (loc > SysrootPath && loc <= LastHostPath) { // We make any other host path absolute to the host prefix directory. baseDir = rawLocation(HostPrefixPath);