What goes in FeatureDefines.xcconfig

# Don.Olmstead at sony.com (5 days ago)

Recently I did some work around syncing the contents of FeatureDefines.xcconfig and WebKitFeatures.cmake, bugs.webkit.org/show_bug.cgi?id=191167 . Michael mentioned someone noticing that ENABLE(RESOURCE_LOAD_STATISTICS) didn't end up in that list. I did some digging and saw that it ended up in Platform.h, bugs.webkit.org/show_bug.cgi?id=189959 . So what I'm wondering is what is the criteria for something being in FeatureDefines.xcconfig and whether ENABLE_RESOURCE_LOAD_STATISTICS meets it.

Thanks Don

Contact us to advertise here
# Michael Catanzaro (2 days ago)

On Mon, Dec 10, 2018 at 5:49 PM, Don.Olmstead at sony.com wrote:

Recently I did some work around syncing the contents of FeatureDefines.xcconfig and WebKitFeatures.cmake, bugs.webkit.org/show_bug.cgi?id=191167 . Michael mentioned someone noticing that ENABLE(RESOURCE_LOAD_STATISTICS) didn’t end up in that list. I did some digging and saw that it ended up in Platform.h, bugs.webkit.org/show_bug.cgi?id=189959 . So what I’m wondering is what is the criteria for something being in FeatureDefines.xcconfig and whether ENABLE_RESOURCE_LOAD_STATISTICS meets it

I just found wtf/FeatureDefines.h. Didn't know this existed.

Good grief, we have quite a mess here. Define your features in WebKitFeatures.cmake, FeatureList.pm, twenty FeatureDefines.xcconfig files, Platform.h, FeatureDefines.h....

I think we can get rid of FeatureDefines.h and the vast majority of the defines in Platform.h. (I guess some will need to be kept where the logic required is more than a simple boolean, too complex for XCode.) WebKitFeatures.cmake and FeatureDefines.xcconfig we are stuck with, because those are needed for users to be able to configure the build. Then FeatureList.pm is questionable. It's a convenience to be able to easily pass flags to build-webkit, but this can also be done at the CMake or XCode levels, and I don't think it's worth the cost at all. So ideally we would have just WebKitFeatures.cmake and the FeatureDefines.xcconfig family of files that have to be manually kept in sync.

...unless am I missing something? Thoughts?

Michael

Want more features?

Request early access to our private beta of readable email premium.