Go to file
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
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Optimize color xforms when src and dst are matching 2016-08-15 08:10:44 -07:00
bin Pick the right download tool for windows. 2016-08-01 12:26:51 -07:00
build_overrides GN 2016-06-23 10:29:30 -07:00
cmake Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
debugger Remove some ancillary users of SkSurface::MakeRenderTargetDirect 2016-08-01 05:53:23 -07:00
dm Revert of add parallel public API for recording SkLiteDL. (patchset #1 id:1 of https://codereview.chromium.org/2246893002/ ) 2016-08-15 12:56:00 -07:00
example Get Mac viewer working with SDL 2016-08-04 12:30:31 -07:00
experimental [SVGDom] Add opacity support 2016-08-15 12:45:11 -07:00
fuzz Create gradient fuzzers 2016-08-12 06:26:03 -07:00
gm Fix WIC encoder to support kJPEG_Type 2016-08-15 18:52:17 -07:00
gn GN: add extra_cflags et al. 2016-08-16 09:31:16 -07:00
gyp [SVGDom] SVGPong sample app 2016-08-12 13:17:11 -07:00
include Add onDrawBitmapLattice(), avoid unnecessary bitmap->image copy 2016-08-16 09:31:08 -07:00
infra GN: add extra_cflags et al. 2016-08-16 09:31:16 -07:00
platform_tools Revert of Cleanup use of legacy SkSurface creation methods a bit (patchset #2 id:20001 of https://codereview.chromium.org/2223023002/ ) 2016-08-08 09:17:20 -07:00
resources Revert of Add regression test (patchset #2 id:20001 of https://codereview.chromium.org/2243143002/ ) 2016-08-16 04:54:19 -07:00
samplecode Moved "drawShadowedPicture" call outside of if cases in onDrawContent. 2016-08-16 05:38:45 -07:00
site Documentation: Important things on front page 2016-08-15 06:56:18 -07:00
src Add onDrawBitmapLattice(), avoid unnecessary bitmap->image copy 2016-08-16 09:31:08 -07:00
tests Update ComputeBlurredRRectParams to compute all the parameters needed for occluded blurred rrect ninepatch draws 2016-08-16 09:30:03 -07:00
third_party Get Mac viewer working with SDL 2016-08-04 12:30:31 -07:00
tools Only open X Display once for all test GLX contexts 2016-08-11 14:58:34 -07:00
.gitignore Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Prevent overflows when using gamma_alloc_size 2016-08-14 02:12:40 -07:00
BUILD.gn [SVGDom] <polygon> & <polyline> support 2016-08-12 12:15:33 -07:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll GN: gn format is --in-place by default 2016-08-10 07:30:58 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Include resources directory in google3 sync. 2015-10-20 13:00:48 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Roll GN: gn format is --in-place by default 2016-08-10 07:30:58 -07:00
public.bzl add legacy flag for google3 2016-08-11 05:04:52 -07:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
whitespace.txt whitespace change 2016-08-08 08:45:40 -04:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.