[Qt] Change semantics of the haveQt() function to match API promises
authorvestbo@webkit.org <vestbo@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Nov 2011 13:59:58 +0000 (13:59 +0000)
committervestbo@webkit.org <vestbo@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Nov 2011 13:59:58 +0000 (13:59 +0000)
Having Qt 5 does not imply that we have Qt 4, from an API point of
view, as a major version can in theory break BC/SC. Our minimum
version of Qt 4 will always be the latest released version of Qt 4,
so the only place we should use haveQt(4, x) is when checking for
the minimum requirements.

Reviewed-by Simon Hausmann.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@99843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/QtWebKit.pro
Tools/ChangeLog
Tools/qmake/mkspecs/features/default_pre.prf
Tools/qmake/mkspecs/features/features.prf
Tools/qmake/mkspecs/features/functions.prf

index 5e16e12..e947284 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2011-11-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
 
+        [Qt] Change semantics of the haveQt() function to match API promises
+
+        Having Qt 5 does not imply that we have Qt 4, from an API point of
+        view, as a major version can in theory break BC/SC. Our minimum
+        version of Qt 4 will always be the latest released version of Qt 4,
+        so the only place we should use haveQt(4, x) is when checking for
+        the minimum requirements.
+
+        Reviewed by Simon Hausmann.
+
+        * Source/QtWebKit.pro:
+
+2011-11-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
+
         [Qt] Make sure headers.pri has the right relative paths for install
 
         The install rules are generated from api.pri which lives in Source,
index 8fa5cdd..cf12785 100644 (file)
@@ -27,7 +27,7 @@ examples.CONFIG += no_default_target
 examples.makefile = Makefile
 SUBDIRS += examples
 
-!haveQt(5):!build_pass {
+haveQt(4):!build_pass {
     # Use our own copy of syncqt from Qt 4.8 to generate forwarding headers
     syncqt = $$toSystemPath($${ROOT_WEBKIT_DIR}/Tools/qmake/syncqt-4.8)
     command = $$syncqt
index 6d1ca37..0798047 100644 (file)
@@ -1,3 +1,19 @@
+2011-11-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
+
+        [Qt] Change semantics of the haveQt() function to match API promises
+
+        Having Qt 5 does not imply that we have Qt 4, from an API point of
+        view, as a major version can in theory break BC/SC. Our minimum
+        version of Qt 4 will always be the latest released version of Qt 4,
+        so the only place we should use haveQt(4, x) is when checking for
+        the minimum requirements.
+
+        Reviewed by Simon Hausmann.
+
+        * qmake/mkspecs/features/default_pre.prf:
+        * qmake/mkspecs/features/features.prf:
+        * qmake/mkspecs/features/functions.prf:
+
 2011-11-07  Kaustubh Atrawalkar  <kaustubh@motorola.com> and Sergio Villar Senin  <svillar@igalia.com>
 
         [WK2] [GTK] Implement a MouseDown/MouseUp/MouseMoveTo/MouseScrollBy/LeapForward functions for WebKit2 EventSender
index 2d41c46..f8d8c7b 100644 (file)
@@ -85,7 +85,7 @@ win32-msvc*: MAKEFILE_NOOP_COMMAND = @echo >NUL
 scratchbox: PYTHON = python2.6
 else: PYTHON = python
 
-!haveQt(4, 8):!recursive_include: error("Building WebKit with Qt versions older than 4.8 is not supported.")
+!haveQt(4, 8):!haveQt(5):!recursive_include: error("Building WebKit with Qt versions older than 4.8 is not supported.")
 
 !haveQt(5):!no_webkit2 {
     root_project_file {
index 9a3d0fa..382affb 100644 (file)
@@ -89,7 +89,7 @@ isEmpty(HAVE_QRAWFONT) {
 
 # Nescape plugins support (NPAPI)
 !contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=.) {
-    unix:!haveQt(5)|win32-*:!embedded:!wince*: {
+    unix:haveQt(4)|win32-*:!embedded:!wince*: {
         DEFINES += ENABLE_NETSCAPE_PLUGIN_API=1
     } else {
         DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0
index f9acd6a..9d2b003 100644 (file)
@@ -184,14 +184,14 @@ defineTest(addStrictSubdirOrderBetween) {
     return(true)
 }
 
-# Check if we have Qt version x,y,x or higher
+# Check if we have the given Qt version. The major version needs
+# to be exact, the minor and patch version is same or higher
 defineTest(haveQt) {
     count(ARGS, 1, lessThan)|count(ARGS, 3, greaterThan) {
         error("Unexpected number of arguments: haveQt($$ARGS)")
     }
 
-    lessThan(QT_MAJOR_VERSION, $$1): return(false)
-    greaterThan(QT_MAJOR_VERSION, $$1): return(true)
+    !equals(QT_MAJOR_VERSION, $$1): return(false)
 
     count(ARGS, 1, greaterThan) {
         lessThan(QT_MINOR_VERSION, $$2): return(false)