Sounds really powerful...but this scares me....though that could just be my
generalized fear of inheritance.  However, if we start putting inheritance
into the system, I worry about the level of complexity the gyp specification
language will pick up and the possible breakages of information hiding that
it can entail.

Here's a couple of questions about syntax and semantics:
  1) Do you support multiple inheritance?  I notice the "inherit_from" is
specified as an array.  That's scaryish.
  2) If you do have multiple inheritance, how are conflicts handled? Are
they just rejected, or is there a pre-defined name resolution order?  What
would you do with diamond shapes?
  3) Is there a way to reference "super", or various ancestors?
  4) How does this interact with late-resolution variables?
  5) How about conditionals?  Can we conditionally inherit?

-Albert


On Thu, Oct 29, 2009 at 5:42 PM, Bradley Nelson <bradnel...@google.com>wrote:

> configurations can now inherit from one or more other configurations, and
> configurations which are not fully expressed should be marked 'abstract': 1,
>
> So something like this:
>
> 'configurations': {
>   'Common: {
>      'abstract': 1,
>      # common settings
>   },
>   'Debug': {
>      'inherit_from': ['Common'],
>      # Debug specific
>   },
>   'Release': {
>      'inherit_from': ['Common'],
>      # Release specific
>   },
> },
>
> -BradN
>
> On Thu, Oct 29, 2009 at 5:37 PM, Nick Carter <n...@chromium.org> wrote:
>
>> What does the syntax look like?
>>
>>  - nick
>>
>> On Thu, Oct 29, 2009 at 3:22 PM, Bradley Nelson <bradnel...@google.com>wrote:
>>
>>> Hi All,
>>>
>>> I've just rolled out an enhancement to gyp to support inheritance in
>>> configurations.
>>> This shouldn't have any noticeable effect other than reducing the
>>> repetition needed for things like Purify/notcmalloc.
>>>
>>> I've tested it as best I can, but please let me know if you experience
>>> anything strange with Debug vs Release or with Purify/notcmalloc.
>>>
>>> This was primarily meant as a baby step towards supporting x64
>>> configurations in gyp on windows, but I thought I'd let this part soak
>>> first.
>>>
>>> -BradN
>>>
>>>
>>>
>>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to