From 2ca26162f8348719ee04e63b4e80be8b5131521d Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 23 Apr 2012 19:27:43 +0200 Subject: 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 --- qmake/main.cpp | 6 ++++-- qmake/option.cpp | 1 - qmake/project.cpp | 29 +++++++++++++++++------------ qmake/project.h | 2 ++ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/qmake/main.cpp b/qmake/main.cpp index 45672c67ee..835849c652 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -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; diff --git a/qmake/option.cpp b/qmake/option.cpp index 7d6148ce0a..91ff4050d1 100644 --- a/qmake/option.cpp +++ b/qmake/option.cpp @@ -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]; diff --git a/qmake/project.cpp b/qmake/project.cpp index 80e95f392a..c2558cccf6 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -1128,14 +1128,6 @@ QMakeProject::parse(const QString &t, QHash &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, QHashisEmpty(); } +void +QMakeProject::dump() const +{ + QStringList out; + for (QHash::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 diff --git a/qmake/project.h b/qmake/project.h index 171016e264..57ea023acd 100644 --- a/qmake/project.h +++ b/qmake/project.h @@ -173,6 +173,8 @@ public: const QHash &variables() const { return vars; } QHash &variables() { return vars; } + void dump() const; + bool isRecursive() const { return recursive; } bool isHostBuild() const { return host_build; } -- cgit v1.2.3