[Qt] Fix build when cross-compiling
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Feb 2012 13:05:38 +0000 (13:05 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Feb 2012 13:05:38 +0000 (13:05 +0000)
https://bugs.webkit.org/show_bug.cgi?id=77634

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-02-03
Reviewed by Tor Arne Vestbø.

Source/WebKit2:

* WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
is in use or not. More specifically this fixes the case where the makespace
is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.

Source/WTF:

* WTF.pri: Don't use icu-config for determining the library search
path and libraries needed for ICU. Either we use icu-config for includes
_and_ libraries or we don't. Right now we assume that icu is a system library
and expect the headers in the default include search pathes (/usr/include for example).
However we use icu-config to figure out where the libraries are, which breaks when
cross-compiling, because icu-config isn't cross-compile friendly (I wish icu was using
pkg-config). I think for the time being we should require ICU as a _system_ library,
which implies the header and library availability in default search paths. This also
makes the build succeed when cross-compiling with --sysroot.

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

Source/WTF/ChangeLog
Source/WTF/WTF.pri
Source/WebKit2/ChangeLog
Source/WebKit2/WebKit2.pri

index 58d551c625d96096148d530a975351980ea1a49a..77d449075666da37a3b65862d2eefc20038dcf3e 100644 (file)
@@ -1,3 +1,20 @@
+2012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] Fix build when cross-compiling
+        https://bugs.webkit.org/show_bug.cgi?id=77634
+
+        Reviewed by Tor Arne Vestbø.
+
+        * WTF.pri: Don't use icu-config for determining the library search
+        path and libraries needed for ICU. Either we use icu-config for includes
+        _and_ libraries or we don't. Right now we assume that icu is a system library
+        and expect the headers in the default include search pathes (/usr/include for example).
+        However we use icu-config to figure out where the libraries are, which breaks when
+        cross-compiling, because icu-config isn't cross-compile friendly (I wish icu was using
+        pkg-config). I think for the time being we should require ICU as a _system_ library,
+        which implies the header and library availability in default search paths. This also
+        makes the build succeed when cross-compiling with --sysroot.
+
 2012-01-27  Zeno Albisser  <zeno@webkit.org>
 
         [Qt][Mac] Build fails after adding ICU support (r105997).
 2012-01-27  Zeno Albisser  <zeno@webkit.org>
 
         [Qt][Mac] Build fails after adding ICU support (r105997).
index f7a68c3d7ee4499e1581a1ac8b63b78a8ba086e8..76cc40ff623623d68322713a520d767280d06bea 100644 (file)
@@ -25,8 +25,7 @@ haveQt(5) {
         LIBS += -licucore
     } else {
         contains(QT_CONFIG,icu) {
         LIBS += -licucore
     } else {
         contains(QT_CONFIG,icu) {
-            unix: LIBS += $$system(icu-config --ldflags-searchpath --ldflags-libsonly)
-            else: LIBS += -licuin
+            LIBS += -licui18n -licuuc -licudata
         } else {
             error("To build QtWebKit with Qt 5 you need ICU")
         }
         } else {
             error("To build QtWebKit with Qt 5 you need ICU")
         }
index 77ee310f2e548e39c8100ab63126605aa791abc3..9c6562cd61317d903c8b3285c39b4299195d5a89 100644 (file)
@@ -1,3 +1,14 @@
+2012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] Fix build when cross-compiling
+        https://bugs.webkit.org/show_bug.cgi?id=77634
+
+        Reviewed by Tor Arne Vestbø.
+
+        * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
+        is in use or not. More specifically this fixes the case where the makespace
+        is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.
+
 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
 
         Stop calling Element::ensureShadowRoot in Internals.
 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
 
         Stop calling Element::ensureShadowRoot in Internals.
index 1fdcf26140f7371abfb7f86ee3b928a8b7352d3d..a82ee7787f389acfca31e8507d7261ff7d85c16b 100644 (file)
@@ -61,7 +61,7 @@ INCLUDEPATH += $${ROOT_WEBKIT_DIR}/Source/WebKit/qt/Api
 
 INCLUDEPATH += $$WEBKIT2_GENERATED_SOURCES_DIR
 
 
 INCLUDEPATH += $$WEBKIT2_GENERATED_SOURCES_DIR
 
-linux-g++*: {
+linux-*: {
     # -lrt is required for shm_open and shm_unlink.
     LIBS += -lrt
 }
     # -lrt is required for shm_open and shm_unlink.
     LIBS += -lrt
 }