[webkit-reviews] review denied: [Bug 51339] [Qt] Redesign the build system : [Attachment 82960] patch part2 v2

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Feb 20 10:15:44 PST 2011


Laszlo Gombos <laszlo.1.gombos at nokia.com> has denied Andras Becsi
<abecsi at webkit.org>'s request for review:
Bug 51339: [Qt] Redesign the build system
https://bugs.webkit.org/show_bug.cgi?id=51339

Attachment 82960: patch part2 v2
https://bugs.webkit.org/attachment.cgi?id=82960&action=review

------- Additional Comments from Laszlo Gombos <laszlo.1.gombos at nokia.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=82960&action=review

Looks great. I have to say r- because this badly breaks Symbian and because
this approach repeats a few build rules (in WebCore.pro and QtWebKit.pro)
instead of reused (e.g. WebCore.pri).

Also the patch no longer applies against the trunk.

> Source/WebCore/WebCore.pro:-25
> -	   QMAKE_CXXFLAGS.ARMCC += --fpu softvfp+vfpv2 --fpmode fast

CFLAGS should stay in WebCore.pro (or perhaps WebCore.pri) - that's where v8
object files are built.

> Source/WebCore/WebCore.pro:-56
> -	   MMP_RULES += ALWAYS_BUILD_AS_ARM

I think MMP_RULES should stay in WebCore.pro (or perhaps WebCore.pri) as well.

> Source/WebCore/WebCore.pro:-59
> -	   QMAKE_CXXFLAGS -= --thumb

Ditto.

> Source/WebCore/WebCore.pro:-61
> -    CONFIG(release, debug|release): QMAKE_CXXFLAGS.ARMCC += -OTime -O3

Ditto.

> Source/WebCore/WebCore.pro:-77
> -    !static: DEFINES += QT_MAKEDLL

Removing QT_MAKEDLL define will cause PluginViewSymbian.cpp no longer build -
as QWEBKIT_EXPORT will no be defined. qtwebkit_setPluginCreatedCallback is the
only exported symbol from WebCore (only on Symbian). I think the change in pro
file is OK, however the exported symbol should be moved to QtWebKit.pro.

> Source/WebKit/qt/QtWebKit.pro:120
> +unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections

I think this CFLAGS rule should go to WebCore.pri as it should be applied to
both WebCore and QtWebKit.

>>> Source/WebKit/qt/QtWebKit.pro:124
>>> +!static: DEFINES += QT_MAKEDLL
>> 
>> Once defined QT_MAKEDLL conditionally and then unconditionally. I guess it
should be removed from the else case.
> 
> Good catch, I can correct this when landing.
> 
> Laszlo, could you take a look whether this approach could work on Symbian
too?

Happy to continue to help; Ossy has a working WebKit(1) Symbian environment as
well.

> Source/WebKit/qt/QtWebKit.pro:161
> +    webkitbackup.sources = ../WebKit/qt/symbian/backup_registration.xml

This relative path needs to be now relative to QtWebKit.pro - should be
"symbian/backup_registration.xml".

> Source/WebKit/qt/QtWebKit.pro:166
> +	    declarativeImport.sources += ../WebKit/qt/declarative/qmldir

This relative path needs to be now relative to QtWebKit.pro - should be
"declarative/qmldir".

> Source/WebKit/qt/QtWebKit.pro:404
> +contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {

Most of this block should go to WebCore.pri instead.

> Source/WebKit/qt/QtWebKit.pro:405
> +    unix {

WebCore.pro (where this block is copied from) had a symbian block before the
unix block - as the symbian block is omitted here and symbian will test true
for unix which will break the symbian build. This is a good example why we
should not copy these rules into both pro files and instead move them to
WebCore.pri.

Use unix:!symbian instead.

> Source/WebKit/qt/QtWebKit.pro:412
> +		   DEFINES += MOZ_PLATFORM_MAEMO=5

Should go to WebCore.pri instead of repeating it here. MOZ_PLATFORM_MAEMO is
used in npapi.h which is included in both WebCore and QtWebKit directory.

> Source/WebKit/qt/QtWebKit.pro:417
> +		   DEFINES += MOZ_PLATFORM_MAEMO=6

Ditto.

> Source/WebKit/qt/QtWebKit.pro:420
> +	       DEFINES += ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE=1

Ditto.

> Source/WebKit/qt/QtWebKit.pro:485
> +	   }

Section above is old. This block is already newer in r78996 which was used to
create this patch. This is also a good example why we should move this rules
from WebCore.pro into WebCore.pri and not copy them around.

> Source/WebKit/qt/QtWebKit.pro:505
> +    MOBILITY *= sensors

I think these CONFIG and MOBILITY rules should go to WebCore.pri as well.

> Source/WebKit/qt/QtWebKit.pro:642
> +*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x

Should stay in WebCore.pro or moved to WebCore.pri.


More information about the webkit-reviews mailing list