summaryrefslogtreecommitdiffstats
path: root/qmake/generators
diff options
context:
space:
mode:
authorGeir Vattekar <geir.vattekar@nokia.com>2010-06-17 07:21:05 (GMT)
committerGeir Vattekar <geir.vattekar@nokia.com>2010-06-17 07:21:05 (GMT)
commitf39c9f38276add6ead9bb5d380cc2b32b0fa3390 (patch)
tree2627db65ca9cddb432232ee21116afea73da07a4 /qmake/generators
parent594900e68f8e264facbe8c75eaf2b857240bc072 (diff)
parentfac227f609e544f8f55aca8447b4328d6534407a (diff)
downloadQt-f39c9f38276add6ead9bb5d380cc2b32b0fa3390.zip
Qt-f39c9f38276add6ead9bb5d380cc2b32b0fa3390.tar.gz
Qt-f39c9f38276add6ead9bb5d380cc2b32b0fa3390.tar.bz2
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7
Diffstat (limited to 'qmake/generators')
-rw-r--r--qmake/generators/metamakefile.cpp11
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp3
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp4
-rw-r--r--qmake/generators/win32/mingw_make.cpp7
4 files changed, 19 insertions, 6 deletions
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index ad8750b..e98831d 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -529,9 +529,18 @@ MetaMakefileGenerator::modesForGenerator(const QString &gen,
*host_mode = Option::HOST_UNIX_MODE;
*target_mode = Option::TARG_UNIX_MODE;
#endif
- } else if (gen == "MSVC.NET" || gen == "MINGW" || gen == "BMAKE" || gen == "MSBUILD") {
+ } else if (gen == "MSVC.NET" || gen == "BMAKE" || gen == "MSBUILD") {
*host_mode = Option::HOST_WIN_MODE;
*target_mode = Option::TARG_WIN_MODE;
+ } else if (gen == "MINGW") {
+#if defined(Q_OS_MAC)
+ *host_mode = Option::HOST_MACX_MODE;
+#elif defined(Q_OS_UNIX)
+ *host_mode = Option::HOST_UNIX_MODE;
+#else
+ *host_mode = Option::HOST_WIN_MODE;
+#endif
+ *target_mode = Option::TARG_WIN_MODE;
} else if (gen == "PROJECTBUILDER" || gen == "XCODE") {
*host_mode = Option::HOST_MACX_MODE;
*target_mode = Option::TARG_MACX_MODE;
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index 58729d2..3a4bdbc 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -433,9 +433,6 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
if (from.size() > 1 && from.at(1) == QLatin1Char(':'))
from = from.mid(2);
from.prepend(zDir);
- } else {
- if (from.size() > 1 && from.at(1) == QLatin1Char(':'))
- from = from.mid(2);
}
}
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index c2f1d1a..78f6f85 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -99,7 +99,9 @@ void SymbianSbsv2MakefileGenerator::writeSbsDeploymentList(const DeploymentList&
fromItem.replace("\\", "/");
toItem.replace("\\", "/");
#if defined(Q_OS_WIN)
- toItem.prepend(QDir::current().absolutePath().left(2)); // add drive
+ // add drive if it doesn't have one yet
+ if (toItem.size() > 1 && toItem[1] != QLatin1Char(':'))
+ toItem.prepend(QDir::current().absolutePath().left(2));
#endif
t << "OPTION DEPLOY_SOURCE " << fromItem << endl;
t << "OPTION DEPLOY_TARGET " << toItem << endl;
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index 0936d15..5685d6b 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -371,7 +371,12 @@ void MingwMakefileGenerator::writeObjectsPart(QTextStream &t)
ar_script_file += "." + var("BUILD_NAME");
}
createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS"));
- objectsLinkLine = "ar -M < " + ar_script_file;
+ // QMAKE_LIB is used for win32, including mingw, whereas QMAKE_AR is used on Unix.
+ // Strip off any options since the ar commands will be read from file.
+ QString ar_cmd = var("QMAKE_LIB").section(" ", 0, 0);;
+ if (ar_cmd.isEmpty())
+ ar_cmd = "ar";
+ objectsLinkLine = ar_cmd + " -M < " + ar_script_file;
} else {
QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET");
if (!var("BUILD_NAME").isEmpty()) {