From 3abc6be68547e00cd90cfb0fd9151650fe937184 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Sun, 26 Feb 2012 15:20:24 +0100 Subject: [PATCH] Build qmake with QStringBuilder. QStringBuilder will be enabled by default so qmake should build with it. qstringbuiler.cpp has to be compiled in just for the convertFromAscii (The alternative was to build with QT_NO_CAST_FROM_ASCII, but that would be too much work) Change-Id: I1fbeed7ed8a9d3bc38ef591a687c50644980e2fd Reviewed-by: Oswald Buddenhagen --- qmake/Makefile.unix | 6 +++++- qmake/Makefile.win32 | 1 + qmake/Makefile.win32-g++ | 1 + qmake/generators/mac/pbuilder_pbx.cpp | 2 +- qmake/project.cpp | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix index ab9b583ad3d..a263fb40229 100644 --- a/qmake/Makefile.unix +++ b/qmake/Makefile.unix @@ -16,7 +16,7 @@ OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \ gbuild.o #qt code -QOBJS=qtextcodec.o qutfcodec.o qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \ +QOBJS=qtextcodec.o qutfcodec.o qstring.o qstringbuilder.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \ qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlist.o qfiledevice.o qfile.o \ qfilesystementry.o qfilesystemengine_unix.o qfilesystemengine.o qfilesystemiterator_unix.o \ qfsfileengine_unix.o qfsfileengine.o \ @@ -57,6 +57,7 @@ DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp generators/makefile.cpp ge $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp \ $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp $(SOURCE_PATH)/src/corelib/tools/qmap.cpp \ $(SOURCE_PATH)/src/corelib/global/qconfig.cpp $(SOURCE_PATH)/src/corelib/io/qurl.cpp \ + $(SOURCE_PATH)/src/corelib/tools/qstringbuilder.cpp \ $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp \ $(SOURCE_PATH)/src/corelib/tools/qlocale_tools.cpp \ $(SOURCE_PATH)/src/corelib/tools/qlocale_unix.cpp \ @@ -225,6 +226,9 @@ qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp +qstringbuilder.o: $(SOURCE_PATH)/src/corelib/tools/qstringbuilder.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstringbuilder.cpp + qlocale.o: $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32 index adcfb040edc..8e37b3e646e 100644 --- a/qmake/Makefile.win32 +++ b/qmake/Makefile.win32 @@ -106,6 +106,7 @@ QTOBJS= \ qutfcodec.obj \ qstring.obj \ qstringlist.obj \ + qstringbuilder.obj \ qsystemerror.obj \ qtextstream.obj \ qdatastream.obj \ diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++ index 75c7e023341..8754e10b292 100644 --- a/qmake/Makefile.win32-g++ +++ b/qmake/Makefile.win32-g++ @@ -110,6 +110,7 @@ QTOBJS= \ qutfcodec.o \ qstring.o \ qstringlist.o \ + qstringbuilder.o \ qsystemerror.o \ qsystemlibrary.o \ qtextstream.o \ diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp index 770a1ad34e4..841e11534b2 100644 --- a/qmake/generators/mac/pbuilder_pbx.cpp +++ b/qmake/generators/mac/pbuilder_pbx.cpp @@ -1928,7 +1928,7 @@ ProjectBuilderMakefileGenerator::writeSettings(QString var, QStringList vals, in { QString ret; const QString quote = (flags & SettingsNoQuote) ? "" : "\""; - const QString escape_quote = quote.isEmpty() ? "" : "\\" + quote; + const QString escape_quote = quote.isEmpty() ? "" : QString("\\" + quote); QString newline = "\n"; for(int i = 0; i < indent_level; ++i) newline += "\t"; diff --git a/qmake/project.cpp b/qmake/project.cpp index b82b7933197..1f936a04c2a 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -1026,7 +1026,7 @@ QMakeProject::parse(const QString &t, QHash &place, int nu debug_msg(1, "Project Parser: %s:%d : Entering block %d (%d). [%s]", parser.file.toLatin1().constData(), parser.line_no, scope_blocks.count(), scope_failed, s.toLatin1().constData()); } else if(iterator) { - iterator->parselist.append(var+s.mid(d_off)); + iterator->parselist.append(QString(var+s.mid(d_off))); bool ret = iterator->exec(this, place); delete iterator; return ret;