From b32f3ba9e4d9a24ddb10c6c5901e2d299aea23ca Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Tue, 28 Aug 2012 10:12:36 +0200
Subject: [PATCH] remove pretenses of supporting projects on stdin

this may have worked a decade ago, but now it only produces funny
Makefiles (and needs hacking main.cpp). the feature doesn't seem *too*
important, so just clean it out.

Change-Id: I50a60b0e30341f0b523e4a5731c770c9c1013f8b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
---
 qmake/generators/mac/pbuilder_pbx.cpp |  6 ++----
 qmake/generators/makefile.cpp         |  9 +++------
 qmake/main.cpp                        |  3 +--
 qmake/option.cpp                      |  3 +--
 qmake/project.cpp                     | 18 ++++++------------
 qmake/project.h                       |  2 --
 6 files changed, 13 insertions(+), 28 deletions(-)

diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index 07224d8c43e..ba7d356320c 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -461,9 +461,7 @@ ProjectBuilderSources::files(QMakeProject *project) const
 {
     QStringList ret = project->values(key);
     if(key == "QMAKE_INTERNAL_INCLUDED_FILES") {
-        QString pfile = project->projectFile();
-        if(pfile != "(stdin)")
-            ret.prepend(pfile);
+        ret.prepend(project->projectFile());
         for(int i = 0; i < ret.size(); ++i) {
             QStringList newret;
             if(!ret.at(i).endsWith(Option::prf_ext))
@@ -496,7 +494,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
       << "\t" << "objects = {" << endl;
 
     //MAKE QMAKE equivelant
-    if(!project->isActiveConfig("no_autoqmake") && project->projectFile() != "(stdin)") {
+    if (!project->isActiveConfig("no_autoqmake")) {
         QString mkfile = pbx_dir + Option::dir_sep + "qt_makeqmake.mak";
         QFile mkf(mkfile);
         if(mkf.open(QIODevice::WriteOnly | QIODevice::Text)) {
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 79f9659536c..fe389343bf3 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -961,8 +961,7 @@ MakefileGenerator::writePrlFile(QTextStream &t)
         bdir = qmake_getpwd();
     t << "QMAKE_PRL_BUILD_DIR = " << bdir << endl;
 
-    if(!project->projectFile().isEmpty() && project->projectFile() != "-")
-        t << "QMAKE_PRO_INPUT = " << project->projectFile().section('/', -1) << endl;
+    t << "QMAKE_PRO_INPUT = " << project->projectFile().section('/', -1) << endl;
 
     if(!project->isEmpty("QMAKE_ABSOLUTE_SOURCE_PATH"))
         t << "QMAKE_PRL_SOURCE_DIR = " << project->first("QMAKE_ABSOLUTE_SOURCE_PATH") << endl;
@@ -2595,11 +2594,10 @@ MakefileGenerator::writeMakeQmake(QTextStream &t, bool noDummyQmakeAll)
           << "@$(QMAKE) -prl " << buildArgs() << " " << files.join(" ") << endl;
     }
 
-    QString pfile = project->projectFile();
-    if(pfile != "(stdin)") {
         QString qmake = build_args();
         if(!ofile.isEmpty() && !project->isActiveConfig("no_autoqmake")) {
-            t << escapeFilePath(ofile) << ": " << escapeDependencyPath(fileFixify(pfile)) << " ";
+            t << escapeFilePath(ofile) << ": "
+              << escapeDependencyPath(fileFixify(project->projectFile())) << " ";
             if (Option::mkfile::do_cache) {
                 if (!project->confFile().isEmpty())
                     t <<  escapeDependencyPath(fileFixify(project->confFile())) << " ";
@@ -2624,7 +2622,6 @@ MakefileGenerator::writeMakeQmake(QTextStream &t, bool noDummyQmakeAll)
             if (!noDummyQmakeAll)
                 t << "qmake_all: FORCE" << endl << endl;
         }
-    }
 }
 
 QFileInfo
diff --git a/qmake/main.cpp b/qmake/main.cpp
index 516df7fa48a..91c8146c088 100644
--- a/qmake/main.cpp
+++ b/qmake/main.cpp
@@ -163,8 +163,7 @@ int runQMake(int argc, char **argv)
             // read project..
             if(!project.read(fn)) {
                 fprintf(stderr, "Error processing project file: %s\n",
-                        fn == QLatin1String("-") ?
-                            "(stdin)" : QDir::toNativeSeparators(*pfile).toLatin1().constData());
+                        QDir::toNativeSeparators(*pfile).toLatin1().constData());
                 exit_val = 3;
                 continue;
             }
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 7f0b4aab3b5..1a663c14c5d 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -512,8 +512,7 @@ Option::init(int argc, char **argv)
 
 void Option::prepareProject(const QString &pfile)
 {
-    QString srcpath = (pfile != "-")
-            ? QDir::cleanPath(QFileInfo(pfile).absolutePath()) : qmake_getpwd();
+    QString srcpath = QDir::cleanPath(QFileInfo(pfile).absolutePath());
     if (srcpath != output_dir) {
         if (!srcpath.endsWith(QLatin1Char('/')))
             srcpath += QLatin1Char('/');
diff --git a/qmake/project.cpp b/qmake/project.cpp
index a97d4accce2..4f26db8bb09 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -1279,13 +1279,9 @@ QMakeProject::read(const QString &file, QHash<QString, QStringList> &place)
 
     const QString oldpwd = qmake_getpwd();
     QString filename = Option::normalizePath(file, false);
-    bool ret = false, using_stdin = false;
+    bool ret = false;
     QFile qfile;
-    if(filename == QLatin1String("-")) {
-        qfile.setFileName("");
-        ret = qfile.open(stdin, QIODevice::ReadOnly);
-        using_stdin = true;
-    } else if(QFileInfo(file).isDir()) {
+    if (QFileInfo(file).isDir()) {
         return false;
     } else {
         qfile.setFileName(filename);
@@ -1306,8 +1302,7 @@ QMakeProject::read(const QString &file, QHash<QString, QStringList> &place)
             QTextStream t(&qfile);
             ret = read(t, place);
         }
-        if(!using_stdin)
-            qfile.close();
+        qfile.close();
     }
     if (!need_restart && scope_blocks.count() != 1) {
         qmake_error_msg("Unterminated conditional block at end of file");
@@ -1561,7 +1556,7 @@ QMakeProject::read(uchar cmd)
 
     if(cmd & ReadProFile) { // parse project file
         debug_msg(1, "Project file: reading %s", pfile.toLatin1().constData());
-        if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(Option::pro_ext))
+        if (!QFile::exists(pfile) && !pfile.endsWith(Option::pro_ext))
             pfile += Option::pro_ext;
         if(!read(pfile, vars))
             return false;
@@ -1627,8 +1622,7 @@ void
 QMakeProject::setupProject()
 {
     setTemplate(vars["TEMPLATE"]);
-    if (pfile != "-")
-        vars["TARGET"] << QFileInfo(pfile).baseName();
+    vars["TARGET"] << QFileInfo(pfile).baseName();
     vars["_PRO_FILE_"] << pfile;
     vars["_PRO_FILE_PWD_"] << (pfile.isEmpty() ? qmake_getpwd() : QFileInfo(pfile).absolutePath());
     vars["OUT_PWD"] << Option::output_dir;
@@ -2640,7 +2634,7 @@ QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
         if(args.count() != 1) {
             fprintf(stderr, "%s:%d prompt(question) requires one argument.\n",
                     parser.file.toLatin1().constData(), parser.line_no);
-        } else if(pfile == "-") {
+        } else if (Option::output.fileName() == "-") {
             fprintf(stderr, "%s:%d prompt(question) cannot be used when '-o -' is used.\n",
                     parser.file.toLatin1().constData(), parser.line_no);
         } else {
diff --git a/qmake/project.h b/qmake/project.h
index 266053a972f..43ec8ae5dc9 100644
--- a/qmake/project.h
+++ b/qmake/project.h
@@ -188,8 +188,6 @@ Q_DECLARE_METATYPE(QMakeProject*)
 
 inline QString QMakeProject::projectFile()
 {
-    if (pfile == "-")
-        return QString("(stdin)");
     return pfile;
 }
 
-- 
GitLab