Bug 47414 - [Qt] Get the symbian/linux-armcc compile working properly
Summary: [Qt] Get the symbian/linux-armcc compile working properly
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC S60 3rd edition
: P3 Normal
Assignee: QtWebKit Unassigned
Keywords: Qt, QtTriaged
Depends on:
Reported: 2010-10-08 06:43 PDT by Keith Kyzivat
Modified: 2010-12-14 15:18 PST (History)
8 users (show)

See Also:

Qt 4.7 symbian/linux-armcc mkspec fix (1.73 KB, patch)
2010-10-08 07:03 PDT, Keith Kyzivat
no flags Details | Formatted Diff | Diff
Patch (12.34 KB, patch)
2010-10-08 07:29 PDT, Keith Kyzivat
eric: review+
commit-queue: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Keith Kyzivat 2010-10-08 06:43:32 PDT
Currently, the symbian/linux-armcc compile is not working properly.

Some changes in Qt's symbian/linux-armcc mkspec and webkit Qt project changes are needed in the 'symbian' sections to correct this functionality.

1.) $$QMAKE_MOC is not defined. This is fixed by updates in the qt 4.7 mkspec, however that has not been checked in.  The required changes have not been checked into the Qt 4.7 branch yet.  I'll attach a patch with the required changes.

2.) Symbian configurations were not taking into account that deployment will be to OUTPUT_DIR.
3.) "TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB" in WebKit.pri symbian configuration section is using the wrong kind of comments.  Should be using qmake '#' comments.
    Similarly, "EPOCHEAPSIZE  0x40000 0x2000000 // Min 256kB, Max 32MB" needed to be changed for the same reason.
4.) "linux-* {" section dealing with shared library rpaths is incorrect -- symbian/linux-armcc doesn't understand them, and was mistakenly selected based on the 'linux-' in it's name.
5.) DumpRenderTree is pulling in fontconfig on symbian/linux-armcc even though it doesn't exist.

I'll have a patch to add to this shortly that addresses these problems.
Comment 1 Keith Kyzivat 2010-10-08 07:03:32 PDT
Created attachment 70245 [details]
Qt 4.7 symbian/linux-armcc mkspec fix

This attachment patches Qt 4.7 with updates to the symbian/linux-armcc mkspec to properly handle expansion of QMAKE_MOC QMAKE_UIC and QMAKE_IDC
Comment 2 Keith Kyzivat 2010-10-08 07:29:18 PDT
Created attachment 70249 [details]
Comment 3 Keith Kyzivat 2010-10-11 12:01:54 PDT
FYI qmake does not need to be rebuilt after applying the patch from comment 1, as it is just changes to the symbian/linux-armcc mkspec, so just apply and then continue on to apply and build with the webkit patch I have provided.
Comment 4 Kristian Amlie 2010-10-18 04:52:09 PDT
With my limited knowledge of the WebKit build structure I can't do final review, but the changes to file locations look good.

For the TARGET.EPOCHEAPSIZE, note that anything added to MMP_RULES has no effect on the symbian/linux-armcc mkspec. Therefore the change you make to comments there is unnecessary. Although I don't see why they do, if they want to define it differently like that, you'll need a separate scope, like this:

symbian-abld|symbian-sbsv2 {
    heapSizeRule = \
        "$${LITERAL_HASH}ifdef WINSCW" \
            "EPOCHEAPSIZE  0x40000 0x2000000" \
        "$${LITERAL_HASH}else" \
            "EPOCHEAPSIZE  0x40000 0x6000000" \
    MMP_RULES += heapSizeRule
} else {
    TARGET.EPOCHEAPSIZE = 0x40000 0x2000000

Also, all the changes that change linux-* into linux-*:!symbian should be regarded as temporary, since the final mkspec will not have that problem. I'm not sure what the WebKit policy is for temporary patches like that, but it would be nice to get it accepted, since it helps a lot in the intermediate stage we're in.
Comment 5 Eric Seidel (no email) 2010-12-12 02:44:40 PST
Comment on attachment 70249 [details]

Comment 6 WebKit Commit Bot 2010-12-12 02:59:56 PST
Comment on attachment 70249 [details]

Rejecting attachment 70249 [details] from commit-queue.

Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=eseidel-cq-sl', 'apply-attachment', '--non-interactive', 70249]" exit_code: 2
Last 500 characters of output:
patching file WebKitTools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKitTools/DumpRenderTree/qt/DumpRenderTree.pro
patching file WebKitTools/MiniBrowser/qt/MiniBrowser.pro
patching file WebKitTools/QtTestBrowser/QtTestBrowser.pro
patching file WebKitTools/WebKitTestRunner/qt/WebKitTestRunner.pro
Hunk #1 succeeded at 54 (offset 4 lines).

Failed to run "[u'/Projects/CommitQueue/WebKitTools/Scripts/svn-apply', u'--reviewer', u'Eric Seidel', u'--force']" exit_code: 1

Full output: http://queues.webkit.org/results/7038005
Comment 7 Kristian Amlie 2010-12-14 02:51:49 PST
This issue is a bit old, and the linux-armcc name is going away anyway. I think it can be safely closed. I'll open a new one if necessary.