So we'd take the product of variants and configuration?

I don't think we can do official this way because we need to modify sources
lists, so official would stay controlled by a variable for the whole tree.

I think your link changes would actually have to be w/in a
tagert_conditional blocks so they only applied to executables and/or shared
libs.

Anyway, looks pretty good.

TVL


On Thu, Apr 2, 2009 at 12:56 PM, Steven Knight <s...@chromium.org> wrote:

> [Forwarding to chromium-dev from the right @chromium.org address.]
>
> ---------- Forwarded message ----------
> From: Steven Knight <s...@google.com>
> Date: Thu, Apr 2, 2009 at 9:54 AM
> Subject: variant definitions in the .gyp files
> To: Mark Mentovai <mmento...@google.com>, Bradley Nelson <
> bradnel...@google.com>, Adam Langley <a...@google.com>
> Cc: Darin Fisher <da...@google.com>, chromium-dev <
> chromium-dev@googlegroups.com>
>
>
> I've appended a draft section below of what I'd like to add to the .gyp
> configuration to support the different build flavors (coverage, profile,
> etc.) that can be applied to the build configurations (Debug, Release).
>
> It would be good if all of the platforms used similar configuration and
> terminology, even though the settings will obviously be different.  For
> SCons, I'll turn these into command-line COVERAGE=, PROFILE= variable
> settings.  Mark thinks he can make the concept work for XCode.  Brad, Adam,
> will this work for your generators as well?
>
>         --SK
>
>     'variants': {
>       'coverage': {
>         'cflags': ['-fprofile-arcs', '-ftest-coverage'],
>         'linkflags': ['-fprofile-arcs'],
>       },
>       'profile': {
>         'cflags': ['-pg', '-g'],
>         'linkflags': ['-pg'],
>       },
>       'official': {
>         'defines': ['OFFICIAL_BUILD'],
>         # Make sure units of code and data go in their own section,
>         # and then GC them in the linker to remove unreferenced data
>         # and code.  Currently gold doesn't support --gc-sections,
>         # so you'll have to build with the original GNU ld.
>         'cflags': ['-ffunction-sections', '-fdata-sections'],
>         'linkflags': ['-Wl,--gc-sections'],
>       },
>       'symbols': {
>         'cflags': ['-g'],
>       },
>     },
>
>
>
> >
>

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