Bug 138464
Summary: | [EFL] Make easier to enable/disable API tests | ||
---|---|---|---|
Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | mcatanzaro, ossy |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 137818 |
Csaba Osztrogonác
Idea from bug137818:
> > - be able to disable API tests easily (87 relinking --> 9 relinking)
> It is already possible with build-webkit --cmakeargs="-DENABLE_API_TESTS=OFF"
> performance win: ~ 1 minute
Now the incremental build takes 21 seconds with ld.gold if I touch only one
random file from WebCore. It is still too much during active development. :)
I know I can disable API tests with --cmakeargs="-DENABLE_API_TESTS=OFF"
command line argument of build-webkit. It reduces build time to ... seconds.
But it isn't as comfortable as it can be. This command line option has a big issue,
it is passed to GCC as command line argument. If you change your mind, and you would
like to build API tests again or vice-versa (or simple forget to pass this option),
all sources will be rebuilt. :-/
I checked the code base and it seems only GTK needs this define to be passed to compiler for 2 files only:
- Source/WebKit2/UIProcess/gtk/InputMethodFilter.cpp
- Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
( which includes InputMethodFilter.h )
My goals are:
- simpler option than --cmakeargs="-DENABLE_API_TESTS=OFF" , or environment variable
- avoid rebuilding everything if ENABLE_API_TESTS configuration changes
How to do it: still thinking :)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
Let's see the numbers. (I missed to add them to the description)
Incremental build time after touching a cpp from WebCore:
- wihtout gold linker: 87 seconds --> 19 seconds (with / without API)
- with gold linker: 21 seconds --> 9 seconds (with / without API)
Michael Catanzaro
Closing this bug because the EFL port has been removed from trunk.
If you feel this bug applies to a different upstream WebKit port and was closed in error, please either update the title and reopen the bug, or leave a comment to request this.