Bug 138464

Summary: [EFL] Make easier to enable/disable API tests
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: New BugsAssignee: 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    

Description Csaba Osztrogonác 2014-11-06 06:30:11 PST
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 :)
Comment 1 Csaba Osztrogonác 2014-11-06 08:15:02 PST
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)
Comment 2 Michael Catanzaro 2017-03-11 10:44:24 PST
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.