Bug 72768 - Add CMake build infrastructure for the BlackBerry port
Summary: Add CMake build infrastructure for the BlackBerry port
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Daniel Bates
URL:
Keywords:
Depends on:
Blocks: 73144
  Show dependency treegraph
 
Reported: 2011-11-18 15:39 PST by Daniel Bates
Modified: 2011-11-25 12:34 PST (History)
16 users (show)

See Also:


Attachments
build-webkit support (17.58 KB, patch)
2011-11-18 17:14 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
Details | Formatted Diff | Diff
Group SVG IDLs in WebCore/CMakeLists.txt (until we fix bug #72773) (1.73 KB, patch)
2011-11-18 17:19 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
Details | Formatted Diff | Diff
Add QNX-specific definition for CODE_GENERATOR_PREPROCESSOR (743 bytes, patch)
2011-11-18 17:21 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
Details | Formatted Diff | Diff
BlackBerry-specific CMake files (43.08 KB, patch)
2011-11-18 17:22 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
Details | Formatted Diff | Diff
Teach CMake about the BlackBerry port (1.47 KB, patch)
2011-11-18 18:05 PST, Daniel Bates
abarth: review+
dbates: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Bates 2011-11-18 15:39:39 PST
Towards upstreaming the rest of the BlackBerry port, we need to land the build system. We'll iterate on this as we move to setup our buildbot and upstream additional files.
Comment 1 Daniel Bates 2011-11-18 17:14:15 PST
Created attachment 115912 [details]
build-webkit support

I chose to separate the build system patch into pieces so as to make it more straight forward to review. I'll coalesce these patches into one patch before landing such that the build system is landed in one commit.
Comment 2 Daniel Bates 2011-11-18 17:19:23 PST
Created attachment 115913 [details]
Group SVG IDLs in WebCore/CMakeLists.txt (until we fix bug #72773)

At the time of writing, the BlackBerry port doesn't support generating DOM bindings from the SVG IDLs (bug #72773). For now, we define a named list for the SVG IDLs so that these files can be excluded in Source/WebCore/PlatformBlackBerry.cmake during DOM binding generation.
Comment 3 Daniel Bates 2011-11-18 17:21:33 PST
Created attachment 115915 [details]
Add QNX-specific definition for CODE_GENERATOR_PREPROCESSOR 

For now, we add a QNC-specific definition for CODE_GENERATOR_PREPROCESSOR. I'll look to fold this into the non-MSVC definition in a follow-up patch.

The change log for this change will appear in the next patch.
Comment 4 Daniel Bates 2011-11-18 17:22:21 PST
Created attachment 115916 [details]
BlackBerry-specific CMake files
Comment 5 Antonio Gomes 2011-11-18 17:38:19 PST
Comment on attachment 115916 [details]
BlackBerry-specific CMake files

View in context: https://bugs.webkit.org/attachment.cgi?id=115916&action=review

> Source/WebCore/PlatformBlackBerry.cmake:56
> +    platform/graphics/chromium/ComplexTextControllerLinux.cpp
> +    platform/graphics/chromium/FontCacheLinux.cpp
> +    platform/graphics/chromium/FontLinux.cpp
> +    platform/graphics/chromium/FontPlatformDataLinux.cpp
> +    platform/graphics/chromium/HarfbuzzSkia.cpp
> +    platform/graphics/chromium/SimpleFontDataLinux.cpp

we should definitively follow up with moving this code out of chromium/ into harfbuzz/ or something like this.

> Source/WebCore/PlatformBlackBerry.cmake:322
> +#   storage/Database.idl
> +#   storage/DatabaseCallback.idl
> +#   storage/SQLError.idl
> +#   storage/SQLResultSet.idl
> +#   storage/SQLResultSetRowList.idl
> +#   storage/SQLStatementCallback.idl
> +#   storage/SQLStatementErrorCallback.idl
> +#   storage/SQLTransaction.idl
> +#   storage/SQLTransactionCallback.idl
> +#   storage/SQLTransactionErrorCallback.idl
> +#   storage/SQLTransactionSync.idl
> +#   storage/SQLTransactionSyncCallback.idl
> +#   workers/WebDOMDedicatedWorkerContext.idl
> +#   workers/WebDOMSharedWorkerContext.idl

commented out code? :)
Comment 6 Daniel Bates 2011-11-18 17:52:11 PST
(In reply to comment #5)
> [...]
> > +    platform/graphics/chromium/SimpleFontDataLinux.cpp
> 
> we should definitively follow up with moving this code out of chromium/ into harfbuzz/ or something like this.

Filed bug #72780 for this issue.

> 
> > Source/WebCore/PlatformBlackBerry.cmake:322
> > +#   storage/Database.idl
> > [...]
> > +#   workers/WebDOMSharedWorkerContext.idl
> 
> commented out code? :)

Will remove before landing.
Comment 7 Daniel Bates 2011-11-18 18:05:45 PST
Created attachment 115921 [details]
Teach CMake about the BlackBerry port

Add BlackBerry to the list of CMake ports and recognize the QNX OS.
Comment 8 Adam Barth 2011-11-18 18:06:28 PST
Comment on attachment 115916 [details]
BlackBerry-specific CMake files

View in context: https://bugs.webkit.org/attachment.cgi?id=115916&action=review

> Source/WebCore/PlatformBlackBerry.cmake:90
> +    testing/Internals.cpp

I think this normally gets built in a test target, not the main target.

> Source/WebKit/blackberry/CMakeListsBlackBerry.txt:175
> +    inspector ALL

Wow, can we make this custom target less insane?  Maybe break out the list of inspector JS files into a variable somehow?  (I'm not a CMake expert.)
Comment 9 Daniel Bates 2011-11-18 18:20:42 PST
Comment on attachment 115916 [details]
BlackBerry-specific CMake files

View in context: https://bugs.webkit.org/attachment.cgi?id=115916&action=review

>> Source/WebCore/PlatformBlackBerry.cmake:90
>> +    testing/Internals.cpp
> 
> I think this normally gets built in a test target, not the main target.

Will remove Internals support for now while I look into building it in a separate build target.

>> Source/WebKit/blackberry/CMakeListsBlackBerry.txt:175
>> +    inspector ALL
> 
> Wow, can we make this custom target less insane?  Maybe break out the list of inspector JS files into a variable somehow?  (I'm not a CMake expert.)

I'm not a CMake expert either. I'll look to clean this up. If anyone has any insight/suggestions on how best to clean this up, I would appreciate it.
Comment 10 Adam Barth 2011-11-18 18:23:19 PST
> I'm not a CMake expert either. I'll look to clean this up. If anyone has any insight/suggestions on how best to clean this up, I would appreciate it.

I wouldn't let this issue block you.  Just something that woud be nice to fix.
Comment 11 Daniel Bates 2011-11-18 18:38:54 PST
(In reply to comment #10)
> > I'm not a CMake expert either. I'll look to clean this up. If anyone has any insight/suggestions on how best to clean this up, I would appreciate it.
> 
> I wouldn't let this issue block you.  Just something that woud be nice to fix.

(In reply to comment #10)
> > I'm not a CMake expert either. I'll look to clean this up. If anyone has any insight/suggestions on how best to clean this up, I would appreciate it.
> 
> I wouldn't let this issue block you.  Just something that woud be nice to fix.

OK. Yes, we should make this target more straight-forward to read and modify. I filed bug #72784 for this clean up. For now, I'll land the build system with the Web Inspector target as-is.
Comment 12 Daniel Bates 2011-11-18 19:57:17 PST
Committed r100844: <http://trac.webkit.org/changeset/100844>