summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2013-12-13 16:43:43 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-01 06:56:45 +0100
commit9c9f609313b6a0ddf8e226b291324c97b504d07f (patch)
tree918a66c77bd1caf879007d1ea139b82e4930b3b5
parent8930839acbfb5cbc231cc73cbbe2d1f83236fb58 (diff)
Fix configure & qmake compilation with a future MSVC version
When MSVC supports ref-qualified members, we need to ensure that qstring_compat.cpp can see the non-qualified definitions in qstring.h, which means no precompiled header. Alternatively, for a bootstrapped build we could not compile qstring_compat.cpp or #ifndef the functions. Change-Id: I8ece34503060f0b4b0f8f2df2fb9b0fb1311e269 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-rw-r--r--qmake/Makefile.win324
-rw-r--r--src/corelib/tools/qstring_compat.cpp3
-rw-r--r--tools/configure/Makefile.mingw4
-rw-r--r--tools/configure/Makefile.win324
4 files changed, 13 insertions, 2 deletions
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index fd1ddc0b0d..b1936f3cec 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -219,3 +219,7 @@ qmake_pch.obj:
{$(SOURCE_PATH)\tools\shared\windows}.cpp{}.obj::
$(CXX) $(CXXFLAGS) $<
+
+# Make sure qstring_compat.obj isn't compiled with PCH enabled
+qstring_compat.obj: $(SOURCE_PATH)\src\corelib\tools\qstring_compat.cpp
+ $(CXX) -c $(CXXFLAGS_BARE) $(SOURCE_PATH)\src\corelib\tools\qstring_compat.cpp
diff --git a/src/corelib/tools/qstring_compat.cpp b/src/corelib/tools/qstring_compat.cpp
index 34c37a9cb8..6613dfde8e 100644
--- a/src/corelib/tools/qstring_compat.cpp
+++ b/src/corelib/tools/qstring_compat.cpp
@@ -39,9 +39,8 @@
**
****************************************************************************/
-#if defined(QSTRING_H) && !defined(QT_BOOTSTRAPPED)
+#if defined(QSTRING_H)
# error "This file cannot be compiled with pre-compiled headers"
-// (unless it's configure.exe, which is bootstrapped)
#endif
#define QT_COMPILING_QSTRING_COMPAT_CPP
diff --git a/tools/configure/Makefile.mingw b/tools/configure/Makefile.mingw
index 11bfbe562a..db8db54888 100644
--- a/tools/configure/Makefile.mingw
+++ b/tools/configure/Makefile.mingw
@@ -118,6 +118,10 @@ configureapp.o: $(CONFSRC)/configureapp.h $(CONFSRC)/environment.h $(CONFSRC)/to
environment.o: $(CONFSRC)/environment.h
tools.o: $(CONFSRC)/tools.h
+# Make sure qstring_compat.obj isn't compiled with PCH enabled
+qstring_compat.o: $(CORESRC)/tools/qstring_compat.cpp
+ $(CXX) -c $(CXXFLAGS_BARE) -o $@ $<
+
clean:
-rm -f *.o
-rm -rf *.gch
diff --git a/tools/configure/Makefile.win32 b/tools/configure/Makefile.win32
index 2ec99d30b0..98a2181e39 100644
--- a/tools/configure/Makefile.win32
+++ b/tools/configure/Makefile.win32
@@ -163,3 +163,7 @@ quuid.obj: $(CORESRC)\plugin\quuid.cpp $(PCH)
$(CXX) -c $(CXXFLAGS) $<
{$(CORESRC)\xml}.cpp{}.obj::
$(CXX) -c $(CXXFLAGS) $<
+
+# Make sure qstring_compat.obj isn't compiled with PCH enabled
+qstring_compat.obj: $(CORESRC)\tools\qstring_compat.cpp
+ $(CXX) -c $(CXXFLAGS_BARE) $(CORESRC)\tools\qstring_compat.cpp