repurpose deprecated -E switch

instead of dumping the variables as we are going, dump everything at the
end. this is potentially useful, as opposed to the previous
functionality which was redundant with -d.

Change-Id: Icf14703cb93e03f7079dfc0266b219ad9c902133
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
This commit is contained in:
Oswald Buddenhagen 2012-04-23 19:27:43 +02:00
parent a54875057f
commit 2ca26162f8
4 changed files with 23 additions and 15 deletions

View File

@ -173,8 +173,10 @@ int runQMake(int argc, char **argv)
exit_val = 3;
continue;
}
if(Option::mkfile::do_preprocess) //no need to create makefile
continue;
if (Option::mkfile::do_preprocess) {
project.dump();
continue; //no need to create makefile
}
}
bool success = true;

View File

@ -306,7 +306,6 @@ Option::parseCommandLine(int argc, char **argv, int skip)
} else if(opt == "nodependheuristics") {
Option::mkfile::do_dep_heuristics = false;
} else if(opt == "E") {
fprintf(stderr, "-E is deprecated. Use -d instead.\n");
Option::mkfile::do_preprocess = true;
} else if(opt == "cache") {
Option::mkfile::cachefile = argv[++x];

View File

@ -1128,14 +1128,6 @@ QMakeProject::parse(const QString &t, QHash<QString, QStringList> &place, int nu
doVariableReplace(var, place);
var = varMap(var); //backwards compatibility
if(!var.isEmpty() && Option::mkfile::do_preprocess) {
static QString last_file("*none*");
if(parser.file != last_file) {
fprintf(stdout, "#file %s:%d\n", parser.file.toLatin1().constData(), parser.line_no);
last_file = parser.file;
}
fprintf(stdout, "%s %s %s\n", var.toLatin1().constData(), op.toLatin1().constData(), vals.toLatin1().constData());
}
if(vals.contains('=') && numLines > 1)
warn_msg(WarnParser, "Possible accidental line continuation: {%s} at %s:%d",
@ -1850,10 +1842,6 @@ QMakeProject::doProjectInclude(QString file, uchar flags, QHash<QString, QString
} else if (!QFile::exists(file)) {
return IncludeNoExist;
}
if(Option::mkfile::do_preprocess) //nice to see this first..
fprintf(stderr, "#switching file %s(%s) - %s:%d\n", (flags & IncludeFlagFeature) ? "load" : "include",
file.toLatin1().constData(),
parser.file.toLatin1().constData(), parser.line_no);
debug_msg(1, "Project Parser: %s'ing file %s.", (flags & IncludeFlagFeature) ? "load" : "include",
file.toLatin1().constData());
@ -3781,4 +3769,21 @@ bool QMakeProject::isEmpty(const QString &v) const
return it == vars.constEnd() || it->isEmpty();
}
void
QMakeProject::dump() const
{
QStringList out;
for (QHash<QString, QStringList>::ConstIterator it = vars.begin(); it != vars.end(); ++it) {
if (!it.key().startsWith('.')) {
QString str = it.key() + " =";
foreach (const QString &v, it.value())
str += ' ' + quoteValue(v);
out << str;
}
}
out.sort();
foreach (const QString &v, out)
puts(qPrintable(v));
}
QT_END_NAMESPACE

View File

@ -173,6 +173,8 @@ public:
const QHash<QString, QStringList> &variables() const { return vars; }
QHash<QString, QStringList> &variables() { return vars; }
void dump() const;
bool isRecursive() const { return recursive; }
bool isHostBuild() const { return host_build; }