use real qmakespec as basis for finding features

doesn't make much of a difference on unix (as the default specs are just
symlinks).
on windows, it makes the gross hack used for finding spec-specific wince
default_post.prfs unnecessary.

Change-Id: Id403dce5be487e1ae22c1f54b8095a6afdd98bc8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
This commit is contained in:
Oswald Buddenhagen 2012-04-20 17:07:52 +02:00
parent 30d1522b7a
commit caa2263051
2 changed files with 3 additions and 15 deletions

View File

@ -1,11 +0,0 @@
!isEmpty(CE_ARCH) {
QMAKESPEC_DIR = $$QMAKESPEC
exists($$QMAKESPEC_DIR/default_post.prf) {
isEmpty(QMAKESPEC_DIR):QMAKESPEC_DIR = $$QMAKESPEC_ORIGINAL
!isEmpty(QMAKESPEC_DIR):load($$QMAKESPEC_DIR/default_post.prf)
}
}
# Now load the global default_post
load(default_post)

View File

@ -587,13 +587,12 @@ QStringList QMakeProject::qmakeFeaturePaths()
foreach (const QString &path, qmakepath)
foreach (const QString &cat, concat)
feature_roots << (path + mkspecs_concat + cat);
QString *specp = host_build ? &Option::mkfile::qmakespec : &Option::mkfile::xqmakespec;
if (!specp->isEmpty()) {
if (!real_spec.isEmpty()) {
// The spec is already platform-dependent, so no subdirs here.
feature_roots << *specp + base_concat;
feature_roots << real_spec + base_concat;
// Also check directly under the root directory of the mkspecs collection
QFileInfo specfi(*specp);
QFileInfo specfi(real_spec);
QDir specrootdir(specfi.absolutePath());
while (!specrootdir.isRoot()) {
const QString specrootpath = specrootdir.path();