skia2/infra/bots/recipe_modules
mtklein 8079ba688c GN: add extra_cflags et al.
Adding flags to the end of cc or cxx is pretty useful, but these always end up
on the command line before the GN generated flags, thus setting defaults that
GN will override.

For full flexibility we want to be able to add flags after the flags GN has
added, so that custom flags can override _it_.

I've updated the Fast bots with an example here: if we said cc="clang -O3 ...",
that '-O3' would be overriden later by the default Release-mode '-Os'.  By
putting it in extra_cflags, we get the last word: our '-O3' overrides the
default '-Os'.

Another good use case is a hypothetical Actually-Shippable-Release mode.  Our
Release mode bundles in tons of debug symbols via '-g'.  libskia.a is about 10x
larger than it needs to be when built that way, but it helps us debug the bot
failures immensely.  To build a libskia.{a,so} that you'd really ship, you can
now set extra_cflags="-g0" to override '-g'.  You could set '-march' flags there
too, '-fomit-frame-pointer', etc.

There are lots of flags that won't matter where they end up in the command line.
To keep everything simple I've put them in extra_cflags with the rest.  This means
the only time we change 'cc' or 'cxx' in our recipes is to prefix 'ccache'.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241263003

Review-Url: https://codereview.chromium.org/2241263003
2016-08-16 09:31:16 -07:00
..
builder_name_schema Move builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes 2016-08-04 11:07:10 -07:00
core [recipes] Increase test coverage 2016-08-05 06:30:10 -07:00
ct Move ct_skps recipe from tools repo to Skia repo. 2016-08-09 13:46:48 -07:00
flavor GN: add extra_cflags et al. 2016-08-16 09:31:16 -07:00
run Move ct_skps recipe from tools repo to Skia repo. 2016-08-09 13:46:48 -07:00
swarming Re-organize Skia recipes 2016-08-03 08:23:10 -07:00
vars Use SVGs CIPD package and use SVG as a DM source. 2016-08-11 12:36:58 -07:00
README.md Re-organize Skia recipes 2016-08-03 08:23:10 -07:00

Skia Recipe Modules

This directory contains recipe modules designed to be used by recipes. They are all Skia-specific and some are interrelated:

  • vars - Common variables used by Skia recipes.
  • run - Utilities for running commands. Depends on vars.
  • flavor - Run meta-commands for various platforms. Depends on vars and run.
  • skia - Main module for Skia recipes. Depends on vars, run, and flavor.
  • swarming - Utilities for running Swarming tasks.