diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-08-22 14:10:35 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-09-05 03:03:10 +0200 |
commit | 791cb024637e865e98b336bc63b8e1fcbae3befc (patch) | |
tree | b9d8eb2848a4c7c6468b49e15be8beb42a62fcb1 /qmake/meta.cpp | |
parent | 09df6bec737bd9b59dc26bd76e891634aab4ab22 (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.cpp | 10 |
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; } } |