Re: [webkit-dev] FeatureDefines.h and .xcconfig

2014-08-07 Thread Laszlo Gombos
Hi,

I think all ports have the very same problem, not just the OS X and iOS
port. Each port need to make a decision if the build system is in control
of the complete ENABLE_FEATURE_NAME set of flags or it delegates some of
the defaults to FeatureDefines.h. I think it would be desired that all
ports would take the same decision (even if they do not use the same build
system).

> While FeatureDefines.h says "Use this file to list _all_ ENABLE() macros"
it also says "The feature defaults in this file are only taken into account
if the (port specific) build system has not enabled or disabled a
particular feature", which is not true.

Can you elaborate on why this is not true or perhaps suggest better wording
? Setting any ENABLE_FEATURE_NAME macro to an empty string in xcconfig is
explicitly disabling a feature in the build system (see also the comment in
e.g. WebCore/Configurations/FeatureDefines.xcconfig)

> Generating the FeatureDefines.xcconfig from FeatureDefines.h might be
cool, but we have a fair amount of release-specific logic in there (e.g.
only enabled on 10.9).

The idea was that perhaps we could express the release-specific logic still
in the .h file (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1090), just like we do
in Platform.h, but I do not know how/when XCode evaluates xcconfig rules
and if running the pre-compiler from xcconfig would actually work.

FeatureDefines.h was born when WebKit had many more build systems. I think
it is a good time to re-evaluate if it is still useful. If build systems
would control the complete ENABLE_FEATURE_NAME set and FeatureDefines.h has
less use.

Laszlo

On Wed, Aug 6, 2014 at 5:28 PM, Alex Christensen 
wrote:

> I’ve run into similar issues.  I’m working on building the Apple ports
> with CMake.  I would be in favor of switching everything to the xcconfig
> files, but please don’t forget to edit Source/cmake/OptionsMac.cmake.  Now
> we have 5 files to edit, but hopefully I’ll get that down to 1 when I’m
> done :)
>
> Alex
>
> On Aug 6, 2014, at 2:22 PM, Dean Jackson  wrote:
>
> > Hi floks,
> >
> > Things are a bit confusing in the OS X and iOS build configurations
> because we have both a FeatureDefines.h and a set of .xcconfig files, often
> defining the same thing, and sometimes inconsistently (or at least I've
> made the mistake of turning a feature off in one place when the other place
> turned it back on).
> >
> > Obviously it would be good to have only one location for feature
> enabling.
> >
> > While FeatureDefines.h says "Use this file to list _all_ ENABLE()
> macros" it also says "The feature defaults in this file are only taken into
> account if the (port specific) build system has not enabled or disabled a
> particular feature", which is not true.
> >
> > My proposal is to stop using FeatureDefines.h for the Apple ports (*)
> and move completely to .xcconfig files.
> >
> > Notes:
> >
> > - Some scripts launched by Xcode might use the ENABLE_WHATEVER
> environment variables (which FeatureDefines.h can't provide)
> >
> > - The xcconfig files will probably have to be of the form
> ENABLE_WHATEVER=0 to disable a feature, rather than just leaving it blank.
> >
> > - We'd have to change from #ifdef to #if in places.
> >
> > - You'd always have to edit 4 files to toggle a feature :(
> >
> > - Generating the FeatureDefines.xcconfig from FeatureDefines.h might be
> cool, but we have a fair amount of release-specific logic in there (e.g.
> only enabled on 10.9).
> >
> > Is this a terrible idea? Please suggest a better one!
> >
> > Dean
> >
> > (*) I think Apple's Windows port should probably continue with
> FeatureDefines.h because it doesn't use Xcode.
> > ___
> > webkit-dev mailing list
> > webkit-dev@lists.webkit.org
> > https://lists.webkit.org/mailman/listinfo/webkit-dev
>
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] compact ICU unicode

2013-06-14 Thread Laszlo Gombos
Hi Mark,

>> I think some Qt port's platform doesn't use ICU either so you might want
to coordinate with their maintainer to do this.  In fact, WTF had an
abstraction layer around ICU to do this the last time I checked.

Qt port of WebKit trunk can only be built with Qt v5, which has a hard
dependency on ICU. Older version of Qt and WebKit (v4.8) had an option to
build with or without ICU. See [1] an [2] for more background information.

[1] https://lists.webkit.org/pipermail/webkit-qt/2011-November/002165.html
[2] https://bugs.webkit.org/show_bug.cgi?id=76821

Laszlo
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Christophe Dumez is now a WebKit reviewer

2013-05-09 Thread Laszlo Gombos
Hi,

I'm happy to announce that Christophe Dumez is now a WebKit reviewer.

Chris has done great work on WebKit2 (test infrastructure, support for new
device APIs) and one of the driving forces behind the EFL port. Lately he
has been doing work on the Soup and GStreamer backends and the binding
generators.

Please join me in congratulating Chris !

Thanks,
  Laszlo
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Common build system (was Re: WebKit Wishes)

2013-01-30 Thread Laszlo Gombos
Hi !


> > I'd also like to add that I think a key related issue to common build
> system is common feature configuration. The many different ways ports
> control their feature flags is super confusing. I've long wanted to
> implement common configuration management, but have not had time.
> >
>
> I think this would be a nice related project, but I wouldn't
> necessarily want to lump the two goals together without understanding
> what we'd be shooting for first. From what I know, CMake's support for
> feature configuration is much more mature than what you can do w/ GYP.
> It could certainly be a good motivator, though.
>

My recent e-mail (
https://lists.webkit.org/pipermail/webkit-dev/2013-January/023368.html) to
the list was an attempt to address the feature configuration problem -
assuming that that a single build system is not an option.  The idea was to
use C macros to describe the rules for feature configurations and figure
out a way to populate them to the various build systems (potentially using
a C precompiler to eval the macros). Some of feature configuration flags
does not need to be exposed to the build system these can just be
#include-d to the source. I do not think that this is
a technical superiors solution but perhaps it worth considering to discuss
as it relies on tools and syntax we happened to already agree on and I felt
that what might come out of it is better what we have now.

 Best,
  Laszlo
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Feature configurations

2013-01-17 Thread laszlo gombos
Hi,

I wanted to give a heads up that I'm planning to land a patch that
moves the ENABLE feature macros out from Platform.h into its own file
- see https://bugs.webkit.org/show_bug.cgi?id=105735. After the patch
lands I will update our wiki with the changes at
http://trac.webkit.org/wiki/AddingFeatures.

I consider this as a first step for some other (incremental) changes.
I created a meta bug to collect the work - see
https://bugs.webkit.org/show_bug.cgi?id=105734 . The (long term) goals
are:

 - Potentially decrease the scope of the flags - e.g. WebCore flags do
not need to be visible to JavaScriptCore
 - Maintain a full list of feature flags in the source code - replace
the existing Wiki that is disconnected from the source code
 - Make it easier to introduce/remove a build flag

 Any feedback on the goals and/or the approach is welcome here or on the bugs.

 Thanks,
   Laszlo
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev