Bug 36749

Summary: [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
Product: WebKit Reporter: t.zander
Component: WebKit QtAssignee: Nobody <webkit-unassigned>
Status: CLOSED FIXED    
Severity: Normal CC: hausmann, webkit.review.bot
Priority: P2 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: PC   
OS: S60 3rd edition   
Bug Depends on:    
Bug Blocks: 35784    
Attachments:
Description Flags
patch
none
patch using git diff
hausmann: review-, hausmann: commit-queue-
updated patch
none
Fix for out-of-qt builds hausmann: review+, hausmann: commit-queue-

Description t.zander 2010-03-29 02:23:52 PDT
Created attachment 51890 [details]
patch

to make webkit shadow-compile on a linux box using gcce and cross compiling to arm for symbian I found that the attached change was required.
Comment 1 WebKit Review Bot 2010-03-29 02:28:59 PDT
Attachment 51890 [details] did not pass style-queue:

Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 2 t.zander 2010-03-29 02:43:12 PDT
Created attachment 51895 [details]
patch using git diff
Comment 3 Simon Hausmann 2010-03-29 04:01:19 PDT
Comment on attachment 51895 [details]
patch using git diff

> diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
> index a788d95..41629af 100644
> --- a/WebCore/ChangeLog
> +++ b/WebCore/ChangeLog
> @@ -1,3 +1,11 @@
> +2010-03-29  Thomas Zander  <t.zander@nokia.com>
> +
> +        Reviewed by NOBODY
> +
> +        Qt qmake out-of-source builds failed
> +
> +        * WebCore.pro: Fix for shadow builds
> +
>  2010-03-26  Andrey Kosyakov  <caseq@chromium.org>

Please explain in the ChangeLog why the build broke and add a link to this bugzilla entry.

>          Reviewed by Pavel Feldman.
> diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
> index 15c881f..700f20c 100644
> --- a/WebCore/WebCore.pro
> +++ b/WebCore/WebCore.pro
> @@ -11,7 +11,7 @@ symbian: {
>      } else {
>          TARGET.UID3 = 0xE00267C2
>      }
> -    webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll
> +    webkitlibs.sources = $$QMAKE_LIBDIR_QT/QtWebKit$${QT_LIBINFIX}.dll

What's $$QMAKE_LIBDIR_QT set to with sbsv2/abld builds? Doesn't the dll end up in epoc32/release/armv6/urel, too?

Or does the sbs2/abld build system place the dll into both locations?

Either way, this looks like the right thing to do for the plain makefile builds, but it will break when building WebKit outside of Qt, where we certainly don't place the dll in $$QMAKE_LIBDIR_QT after linking. One option would be to do it like this:

webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll
CONFIG(QTDIR_build): webkitlibs.sources = $$QMAKE_LIBDIR_QT/$$webkitlibs.sources
Comment 4 t.zander 2010-03-29 04:59:55 PDT
Created attachment 51900 [details]
updated patch
Comment 5 t.zander 2010-03-29 05:43:27 PDT
Created attachment 51902 [details]
Fix for out-of-qt builds

On the latest symbian SDK with an MMP based buildsystem I verified that the dll goes to the epocroot, so this should work.
Comment 6 Simon Hausmann 2010-03-29 07:01:48 PDT
Comment on attachment 51902 [details]
Fix for out-of-qt builds

> diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
> index 15c881f..5f24664 100644
> --- a/WebCore/WebCore.pro
> +++ b/WebCore/WebCore.pro
> @@ -12,6 +12,7 @@ symbian: {
>          TARGET.UID3 = 0xE00267C2
>      }
>      webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll
> +    CONFIG(QTDIR_build)|: webkitlibs.sources = $$QMAKE_LIBDIR_QT/$$webkitlibs.sources

The | doesn't belong there.

I'll fix it when landing it.
Comment 7 Simon Hausmann 2010-03-29 07:05:48 PDT
Committed r56719: <http://trac.webkit.org/changeset/56719>
Comment 8 Simon Hausmann 2010-03-29 07:07:09 PDT
Revision r56719 cherry-picked into qtwebkit-2.0 with commit 45d1b73ab35a82b5dd8c55df5b924a60994a932a