summaryrefslogtreecommitdiffstats
path: root/qmake/meta.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-08-22 14:10:35 +0200
committerQt by Nokia <qt-info@nokia.com>2012-09-05 03:03:10 +0200
commit791cb024637e865e98b336bc63b8e1fcbae3befc (patch)
treeb9d8eb2848a4c7c6468b49e15be8beb42a62fcb1 /qmake/meta.cpp
parent09df6bec737bd9b59dc26bd76e891634aab4ab22 (diff)
make QMakeMetaInfo a little less inefficient with libtool .la files
don't read the spec from scratch for every library just to get QMAKE_LFLAGS_RPATH. we can perfectly use our current project for that purpose. Change-Id: I4e408b3fd5de81652181df032aa53cd8f2f8f806 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Diffstat (limited to 'qmake/meta.cpp')
-rw-r--r--qmake/meta.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/qmake/meta.cpp b/qmake/meta.cpp
index 3ec3f8357b..717da74704 100644
--- a/qmake/meta.cpp
+++ b/qmake/meta.cpp
@@ -48,7 +48,8 @@ QT_BEGIN_NAMESPACE
QHash<QString, QHash<QString, QStringList> > QMakeMetaInfo::cache_vars;
-QMakeMetaInfo::QMakeMetaInfo()
+QMakeMetaInfo::QMakeMetaInfo(QMakeProject *_conf)
+ : conf(_conf)
{
}
@@ -180,19 +181,12 @@ QMakeMetaInfo::readLibtoolFile(const QString &f)
dep = dep.mid(1, dep.length() - 2);
lst = dep.trimmed().split(" ");
}
- QMakeProject *conf = NULL;
for(QStringList::Iterator lit = lst.begin(); lit != lst.end(); ++lit) {
if((*lit).startsWith("-R")) {
- if(!conf) {
- conf = new QMakeProject;
- conf->read(QMakeProject::ReadAll ^ QMakeProject::ReadProFile);
- }
if(!conf->isEmpty("QMAKE_LFLAGS_RPATH"))
(*lit) = conf->first("QMAKE_LFLAGS_RPATH") + (*lit).mid(2);
}
}
- if(conf)
- delete conf;
vars["QMAKE_PRL_LIBS"] += lst;
}
}