Skip to content

Commit

Permalink
Revert "move finding the makespec to Option"
Browse files Browse the repository at this point in the history
Needed for an upcoming revert.
This reverts commit 74a6669.

Conflicts:

	qmake/option.cpp
	qmake/project.cpp
	qmake/property.cpp

Change-Id: I56088506d27bf1f095f9261c75224f4bee17ec60
Reviewed-by: Joerg Bornemann <[email protected]>
  • Loading branch information
ossilator committed Jun 19, 2012
1 parent 28f193a commit d8b2998
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 49 deletions.
46 changes: 0 additions & 46 deletions qmake/option.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -583,49 +583,6 @@ void Option::applyHostMode()
}
}

QStringList Option::mkspecPaths()
{
QStringList ret;
const QString concat = QLatin1String("/mkspecs");

QByteArray qmakepath = qgetenv("QMAKEPATH");
if (!qmakepath.isEmpty()) {
const QStringList lst = splitPathList(QString::fromLocal8Bit(qmakepath));
for (QStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
ret << ((*it) + concat);
}
if (!Option::mkfile::project_build_root.isEmpty())
ret << Option::mkfile::project_build_root + concat;
if (!Option::mkfile::project_root.isEmpty())
ret << Option::mkfile::project_root + concat;
ret << QLibraryInfo::location(QLibraryInfo::HostDataPath) + concat;
ret.removeDuplicates();
return ret;
}

bool Option::resolveSpec(QString *spec)
{
QString qmakespec = fixEnvVariables(*spec);
if (qmakespec.isEmpty())
qmakespec = "default";
if (QDir::isRelativePath(qmakespec)) {
QStringList mkspec_roots = mkspecPaths();
debug_msg(2, "Looking for mkspec %s in (%s)", qmakespec.toLatin1().constData(),
mkspec_roots.join("::").toLatin1().constData());
for (QStringList::ConstIterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) {
QString mkspec = (*it) + QLatin1Char('/') + qmakespec;
if (QFile::exists(mkspec)) {
*spec = mkspec;
return true;
}
}
fprintf(stderr, "Could not find mkspecs for your QMAKESPEC(%s) after trying:\n\t%s\n",
qmakespec.toLatin1().constData(), mkspec_roots.join("\n\t").toLatin1().constData());
return false;
}
return true;
}

bool Option::prepareProject(const QString &pfile)
{
mkfile::project_build_root.clear();
Expand Down Expand Up @@ -679,9 +636,6 @@ bool Option::prepareProject(const QString &pfile)
mkfile::project_root.clear();
}

if (!resolveSpec(&Option::mkfile::qmakespec))
return false;

return true;
}

Expand Down
2 changes: 0 additions & 2 deletions qmake/option.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ struct Option
//both of these must be called..
static int init(int argc=0, char **argv=0); //parse cmdline
static void applyHostMode();
static QStringList mkspecPaths();
static bool prepareProject(const QString &pfile);
static bool postProcessProject(QMakeProject *);

Expand Down Expand Up @@ -214,7 +213,6 @@ struct Option

private:
static int parseCommandLine(int, char **, int=0);
static bool resolveSpec(QString *spec);
};

inline QString fixEnvVariables(const QString &x) { return Option::fixString(x, Option::FixEnvVars); }
Expand Down
43 changes: 43 additions & 0 deletions qmake/project.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,26 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
return feature_roots;
}

QStringList qmake_mkspec_paths()
{
QStringList ret;
const QString concat = QLatin1String("/mkspecs");
QByteArray qmakepath = qgetenv("QMAKEPATH");
if (!qmakepath.isEmpty()) {
const QStringList lst = splitPathList(QString::fromLocal8Bit(qmakepath));
for (QStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
ret << ((*it) + concat);
}
if (!Option::mkfile::project_build_root.isEmpty())
ret << Option::mkfile::project_build_root + concat;
if (!Option::mkfile::project_root.isEmpty())
ret << Option::mkfile::project_root + concat;
ret << QLibraryInfo::location(QLibraryInfo::DataPath) + concat;
ret.removeDuplicates();

return ret;
}

QMakeProject::~QMakeProject()
{
if(own_prop)
Expand Down Expand Up @@ -1285,6 +1305,29 @@ QMakeProject::read(uchar cmd)
}
{ // parse mkspec
QString qmakespec = Option::mkfile::qmakespec;
if (qmakespec.isEmpty())
qmakespec = "default";
if (QDir::isRelativePath(qmakespec)) {
QStringList mkspec_roots = qmake_mkspec_paths();
debug_msg(2, "Looking for mkspec %s in (%s)", qmakespec.toLatin1().constData(),
mkspec_roots.join("::").toLatin1().constData());
bool found_mkspec = false;
for (QStringList::ConstIterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) {
QString mkspec = (*it) + QLatin1Char('/') + qmakespec;
if (QFile::exists(mkspec)) {
found_mkspec = true;
Option::mkfile::qmakespec = qmakespec = mkspec;
break;
}
}
if (!found_mkspec) {
fprintf(stderr, "Could not find mkspecs for your QMAKESPEC(%s) after trying:\n\t%s\n",
qmakespec.toLatin1().constData(), mkspec_roots.join("\n\t").toLatin1().constData());
return false;
}
}

// parse qmake configuration
while(qmakespec.endsWith(QLatin1Char('/')))
qmakespec.truncate(qmakespec.length()-1);
QString spec = qmakespec + QLatin1String("/qmake.conf");
Expand Down
4 changes: 3 additions & 1 deletion qmake/property.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@

QT_BEGIN_NAMESPACE

QStringList qmake_mkspec_paths(); //project.cpp

static const struct {
const char *name;
QLibraryInfo::LibraryLocation loc;
Expand Down Expand Up @@ -115,7 +117,7 @@ QMakeProperty::value(QString v, bool just_check)
if (!val.isNull())
return val;
else if(v == "QMAKE_MKSPECS")
return Option::mkspecPaths().join(Option::dirlist_sep);
return qmake_mkspec_paths().join(Option::dirlist_sep);
else if(v == "QMAKE_VERSION")
return qmake_version();
#ifdef QT_VERSION_STR
Expand Down

0 comments on commit d8b2998

Please sign in to comment.