Bug 72768

Summary: Add CMake build infrastructure for the BlackBerry port
Product: WebKit Reporter: Daniel Bates <dbates>
Component: Tools / TestsAssignee: Daniel Bates <dbates>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dave+webkit, ddkilzer, efidler, gyuyoung.kim, jkjiang, leandro, manyoso, mrobinson, mxie, paroga, rakuco, rwlbuis, staikos, tonikitoo, zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 73144    
Attachments:
Description Flags
build-webkit support
tonikitoo: review+, dbates: commit-queue-
Group SVG IDLs in WebCore/CMakeLists.txt (until we fix bug #72773)
tonikitoo: review+, dbates: commit-queue-
Add QNX-specific definition for CODE_GENERATOR_PREPROCESSOR
tonikitoo: review+, dbates: commit-queue-
BlackBerry-specific CMake files
tonikitoo: review+, dbates: commit-queue-
Teach CMake about the BlackBerry port abarth: review+, dbates: commit-queue-

Daniel Bates
Reported 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.
Attachments
build-webkit support (17.58 KB, patch)
2011-11-18 17:14 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
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-
Add QNX-specific definition for CODE_GENERATOR_PREPROCESSOR (743 bytes, patch)
2011-11-18 17:21 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
BlackBerry-specific CMake files (43.08 KB, patch)
2011-11-18 17:22 PST, Daniel Bates
tonikitoo: review+
dbates: commit-queue-
Teach CMake about the BlackBerry port (1.47 KB, patch)
2011-11-18 18:05 PST, Daniel Bates
abarth: review+
dbates: commit-queue-
Daniel Bates
Comment 1 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.
Daniel Bates
Comment 2 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.
Daniel Bates
Comment 3 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.
Daniel Bates
Comment 4 2011-11-18 17:22:21 PST
Created attachment 115916 [details] BlackBerry-specific CMake files
Antonio Gomes
Comment 5 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? :)
Daniel Bates
Comment 6 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.
Daniel Bates
Comment 7 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.
Adam Barth
Comment 8 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.)
Daniel Bates
Comment 9 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.
Adam Barth
Comment 10 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.
Daniel Bates
Comment 11 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.
Daniel Bates
Comment 12 2011-11-18 19:57:17 PST
Note You need to log in before you can comment on or make changes to this bug.