summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/Makefile.unix6
-rw-r--r--qmake/Makefile.win321
-rw-r--r--qmake/doc/src/qmake-manual.qdoc5
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp14
-rw-r--r--qmake/library/qmakevfs.cpp8
-rw-r--r--qmake/library/qmakevfs.h6
-rw-r--r--qmake/qmake.pro2
7 files changed, 27 insertions, 15 deletions
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index 29461be5c5..9e0b51ba55 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -17,7 +17,7 @@ OBJS = \
#qt code (please keep in order matching DEPEND_SRC)
QOBJS = \
- qtextcodec.o qutfcodec.o \
+ qutfcodec.o \
qendian.o qglobal.o qlogging.o qmalloc.o qnumeric.o qoperatingsystemversion.o qrandom.o \
qabstractfileengine.o qbuffer.o qdatastream.o qdebug.o \
qdir.o qdiriterator.o \
@@ -66,7 +66,6 @@ DEPEND_SRC = \
$(QMKGENSRC)/win32/msvc_vcxproj.cpp \
$(QMKGENSRC)/win32/winmakefile.cpp \
$(QMKGENSRC)/xmloutput.cpp \
- $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp \
$(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp \
$(SOURCE_PATH)/src/corelib/global/qendian.cpp \
$(SOURCE_PATH)/src/corelib/global/qglobal.cpp \
@@ -341,9 +340,6 @@ qcore_foundation.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_foundation.mm
qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
-qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
- $(CXX) -c -o $@ $(CXXFLAGS) $<
-
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index a1699bd6f8..ed738e0c02 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -100,7 +100,6 @@ QTOBJS= \
qoperatingsystemversion.obj \
qoperatingsystemversion_win.obj \
qregexp.obj \
- qtextcodec.obj \
qutfcodec.obj \
qstring.obj \
qstring_compat.obj \
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index 0ded8b574a..1a779a94b4 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -3038,6 +3038,7 @@
\snippet code/doc_src_qmake-manual.pro 59
+ \target qmake-cat
\section2 cat(filename[, mode])
Returns the contents of \c filename. You can specify the following options
@@ -3404,6 +3405,10 @@
\snippet code/doc_src_qmake-manual.pro 72
+ Like \l {qmake-cat}{$$cat()}, the \a mode argument takes \c blob, \c lines,
+ \c true, and \false as value. However, the legacy word splitting rules
+ (i.e. empty or \c true, and \c false) differ subtly.
+
If you pass \c stsvar, the command's exit status will be stored in that
variable. If the command crashes, the status will be -1, otherwise a
non-negative exit code of the command's choosing. Usually, comparing
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index f7837fc1b4..95c16661e7 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -208,6 +208,16 @@ struct VcsolutionDepend {
QStringList dependencies;
};
+/* Disable optimization in getProjectUUID() due to a compiler
+ * bug in MSVC 2015 that causes ASSERT: "&other != this" in the QString
+ * copy constructor for non-empty file names at:
+ * filename.isEmpty()?project->first("QMAKE_MAKEFILE"):filename */
+
+#if defined(Q_CC_MSVC) && !defined(Q_CC_CLANG)
+# pragma optimize( "g", off )
+# pragma warning ( disable : 4748 )
+#endif
+
QUuid VcprojGenerator::getProjectUUID(const QString &filename)
{
bool validUUID = true;
@@ -239,6 +249,10 @@ QUuid VcprojGenerator::getProjectUUID(const QString &filename)
return uuid;
}
+#if defined(Q_CC_MSVC) && !defined(Q_CC_CLANG)
+# pragma optimize( "g", on )
+#endif
+
QUuid VcprojGenerator::increaseUUID(const QUuid &id)
{
QUuid result(id);
diff --git a/qmake/library/qmakevfs.cpp b/qmake/library/qmakevfs.cpp
index 3a54ef4023..9fd6ae470c 100644
--- a/qmake/library/qmakevfs.cpp
+++ b/qmake/library/qmakevfs.cpp
@@ -35,7 +35,7 @@ using namespace QMakeInternal;
#include <qfile.h>
#include <qfileinfo.h>
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
#include <qtextcodec.h>
#endif
@@ -49,7 +49,7 @@ QMakeVfs::QMakeVfs()
, m_magicExisting(fL1S("existing"))
#endif
{
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
m_textCodec = 0;
#endif
ref();
@@ -236,7 +236,7 @@ QMakeVfs::ReadResult QMakeVfs::readFile(int id, QString *contents, QString *errS
return ReadOtherError;
}
*contents =
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
m_textCodec ? m_textCodec->toUnicode(bcont) :
#endif
QString::fromLocal8Bit(bcont);
@@ -290,7 +290,7 @@ void QMakeVfs::invalidateContents()
}
#endif
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
void QMakeVfs::setTextCodec(const QTextCodec *textCodec)
{
m_textCodec = textCodec;
diff --git a/qmake/library/qmakevfs.h b/qmake/library/qmakevfs.h
index 68c21a3d37..fccbcfb765 100644
--- a/qmake/library/qmakevfs.h
+++ b/qmake/library/qmakevfs.h
@@ -38,7 +38,7 @@
# include <qmutex.h>
#endif
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
QT_FORWARD_DECLARE_CLASS(QTextCodec)
#endif
@@ -92,7 +92,7 @@ public:
void invalidateContents();
#endif
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
void setTextCodec(const QTextCodec *textCodec);
#endif
@@ -129,7 +129,7 @@ private:
QString m_magicMissing;
QString m_magicExisting;
#endif
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
const QTextCodec *m_textCodec;
#endif
};
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 7c3ce3ef89..ebd61751b7 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -152,7 +152,6 @@ SOURCES += \
qstringlist.cpp \
qsystemerror.cpp \
qtemporaryfile.cpp \
- qtextcodec.cpp \
qtextstream.cpp \
qutfcodec.cpp \
quuid.cpp \
@@ -204,7 +203,6 @@ HEADERS += \
qstringmatcher.h \
qsystemerror_p.h \
qtemporaryfile.h \
- qtextcodec.h \
qtextstream.h \
qutfcodec.h \
quuid.h \