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 -~----------~----~----~----~------~----~------~--~---