summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-03-14 10:49:20 +0100
committerLiang Qi <liang.qi@qt.io>2017-03-14 10:52:24 +0100
commit0c034a649f61019c16aba479fe79d20dde41f2f2 (patch)
tree54545862591044b65e618989805945bceb0b3ea5 /qmake
parent2162f01111d21d0ce66ceb8be290b0a13653e691 (diff)
parentdf40b1115db600e8de1c4774476fa30956a34fd9 (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: src/widgets/widgets/qpushbutton.cpp Change-Id: I615de00e6e64540c50f658d4d8ab3e002d701a81
Diffstat (limited to 'qmake')
-rw-r--r--qmake/doc/src/qmake-manual.qdoc9
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp2
-rw-r--r--qmake/library/qmakebuiltins.cpp9
3 files changed, 17 insertions, 3 deletions
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index 50733836f8..d8ab7d096d 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -2024,6 +2024,15 @@
of this variable is typically handled by qmake
or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ \section1 QMAKE_LINK
+
+ Specifies the linker that will be used when building
+ application based projects. Only the file name of the linker
+ executable needs to be specified as long as it is on a path
+ contained in the \c PATH variable when the Makefile is processed.
+ The value of this variable is typically handled by qmake or
+ \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+
\section1 QMAKE_LINK_SHLIB_CMD
Specifies the command to execute when creating a shared
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index 0b0efe4acf..8ac462da6b 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -662,8 +662,6 @@ void NmakeMakefileGenerator::writeLinkCommand(QTextStream &t, const QString &ext
void NmakeMakefileGenerator::writeResponseFileFiles(QTextStream &t, const ProStringList &files)
{
- if (files.isEmpty())
- return;
// Add line breaks in file lists in reponse files to work around LNK1170.
// The actual line length limit is 131070, but let's use a smaller limit
// in case other tools are similarly hampered.
diff --git a/qmake/library/qmakebuiltins.cpp b/qmake/library/qmakebuiltins.cpp
index b30373b596..808bf53da4 100644
--- a/qmake/library/qmakebuiltins.cpp
+++ b/qmake/library/qmakebuiltins.cpp
@@ -58,6 +58,7 @@
#include <time.h>
#include <utime.h>
#include <errno.h>
+#include <fcntl.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>
@@ -1818,10 +1819,16 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
evalError(fL1S("Cannot stat() reference file %1: %2.").arg(rfn, fL1S(strerror(errno))));
return ReturnFalse;
}
+#if defined(_POSIX_VERSION) && _POSIX_VERSION >= 200809L
+ const struct timespec times[2] = { { 0, UTIME_NOW }, st.st_mtim };
+ const bool utimeError = utimensat(AT_FDCWD, tfn.toLocal8Bit().constData(), times, 0) < 0;
+#else
struct utimbuf utb;
utb.actime = time(0);
utb.modtime = st.st_mtime;
- if (utime(tfn.toLocal8Bit().constData(), &utb)) {
+ const bool utimeError = utime(tfn.toLocal8Bit().constData(), &utb) < 0;
+#endif
+ if (utimeError) {
evalError(fL1S("Cannot touch %1: %2.").arg(tfn, fL1S(strerror(errno))));
return ReturnFalse;
}