aboutsummaryrefslogtreecommitdiffhomepage
path: root/BUILD.gn
Commit message (Collapse)AuthorAge
* GN: _turbo -> -turbo to match FuchsiaGravatar mtklein2016-08-22
| | | | | | | | | | | | | | | We might as well match the folks who are using our GN files now. We've got plenty of strategies in our pocket for when we try to move Chrome onto our GN files (and who knows, there may be even a new better way by then): * Same sort of rename in Chrome's third_party * Aliased targets via //build/secondary in Chrome. * Indirection via build_overrides BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2265503002 Review-Url: https://codereview.chromium.org/2265503002
* GN: make libjpeg_turbo target Chrome-compatibleGravatar mtklein2016-08-18
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2257903002 Review-Url: https://codereview.chromium.org/2257903002
* Fix BUILD.gn for arch other then x86 and x64Gravatar anmittal2016-08-17
| | | | | | | | | | opts_gypi should only be defined for x86 and x64 else we get unused variable error BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248323002 Review-Url: https://codereview.chromium.org/2248323002
* [SVGDom] Add <line> supportGravatar fmalita2016-08-17
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2244223005 Review-Url: https://codereview.chromium.org/2244223005
* GN: make current_cpu workGravatar mtklein2016-08-16
| | | | | | | | | Then we can use it to remind ourselves that SSE and AVX are x86-only. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2247413003 Review-Url: https://codereview.chromium.org/2247413003
* [SVGDom] Add <circle>, <ellipse> supportGravatar fmalita2016-08-16
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249033003 Review-Url: https://codereview.chromium.org/2249033003
* [SVGDom] <polygon> & <polyline> supportGravatar fmalita2016-08-12
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235273003 Review-Url: https://codereview.chromium.org/2235273003
* Use sse4.2 CRC32 instructions to hash when available.Gravatar mtklein2016-08-08
| | | | | | | | | | | | About 9x faster than Murmur3 for long inputs. Most of this is a mechanical change from SkChecksum::Murmur3(...) to SkOpts::hash(...). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208903002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2208903002
* SkRTConf: eliminateGravatar halcanary2016-08-04
| | | | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 DOCS_PREVIEW= https://skia.org/?cl=2212473002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein] TBR=reed@google.com Only removing unused public API. Review-Url: https://codereview.chromium.org/2212473002
* GN: make SkPMColor BGRA on Linux. All other platforms are auto-detected.Gravatar mtklein2016-08-04
| | | | | | | | | | | This technically shouldn't cause us to draw differently, but sometimes does on buggy GMs, and also has us go down slightly different code paths. It's good to be consistent with GYP, Chromium, Google3, etc. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2214023002 Review-Url: https://codereview.chromium.org/2214023002
* spin off easy stuff from Herb's windows GN CLGravatar mtklein2016-08-04
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209533004 No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2209533004
* Add an SVG DM sourceGravatar fmalita2016-08-03
| | | | | | | R=mtklein@google.com,robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209593004 Review-Url: https://codereview.chromium.org/2209593004
* Revert of SkRTConf: reduce functionality to what we use, increase simplicity ↵Gravatar mtklein2016-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #8 id:150001 of https://codereview.chromium.org/2212473002/ ) Reason for revert: missed GrVkPipelineStateCache Original issue's description: > SkRTConf: reduce functionality to what we use, increase simplicity > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 > DOCS_PREVIEW= https://skia.org/?cl=2212473002 > CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > [mtklein] > TBR=reed@google.com > Only removing unused public API. > > Committed: https://skia.googlesource.com/skia/+/ef59974708dade6fa72fb0218d4f8a9590175c47 TBR=halcanary@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2215433003
* SkRTConf: reduce functionality to what we use, increase simplicityGravatar halcanary2016-08-03
| | | | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 DOCS_PREVIEW= https://skia.org/?cl=2212473002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein] TBR=reed@google.com Only removing unused public API. Review-Url: https://codereview.chromium.org/2212473002
* GN: build sfntly, icu, harfbuzzGravatar halcanary2016-08-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2200833010 Review-Url: https://codereview.chromium.org/2200833010
* Require gn format in presubmitGravatar mtklein2016-08-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2203283003 Review-Url: https://codereview.chromium.org/2203283003
* added initial GLSL support to skslcGravatar ethannicholas2016-08-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185393003 Review-Url: https://codereview.chromium.org/2185393003
* GN: gpu support in toolsGravatar mtklein2016-08-03
| | | | | | | | | | | | | | | | | | If you want to try this out, the DOCS_PREVIEW link is a quickstart. Are the GrGLCreateNativeInteface_* meant to be part of Skia-the-library or just used by testing tools? I've got it written here as tool-only, but we could easily move it to libskia if it's a thing we want to ship. I'm honestly not sure I understand how this linked before without a definition of GrGLCreateNativeInterface(). Or are there two, one real and one no-op default with some sort of weak linking setup? dlopen()? BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2201233003 DOCS_PREVIEW= https://skia.org/user/quick/gn?cl=2201233003 Review-Url: https://codereview.chromium.org/2201233003
* SK_GAMMA_SRGB is the default.Gravatar mtklein2016-08-03
| | | | | | | | | Looks like that other CL stuck just fine. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2207013002 Review-Url: https://codereview.chromium.org/2207013002
* GN: add tests to DMGravatar mtklein2016-08-02
| | | | | | | | | | | depends on https://codereview.chromium.org/2202203003 and https://codereview.chromium.org/2208433002 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2203143002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug-GN-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-GN-Trybot Review-Url: https://codereview.chromium.org/2203143002
* GN: get echo-headers sources via exec_scriptGravatar mtklein2016-08-02
| | | | | | | | | | | | | | | | | exec_script runs every time gn does, which is explicitly on every one of our bot runs. That should be enough to obviate the .git/logs/HEAD hack. Easiest way to do this was to swap around find.py's argument order to allow multiple search directories. This is the root of all the .gyp changes. This moves the blacklist into BUILD.gn, which I think is nice. It expands it a little as we're now searching recursively, into include/gpu/vk which we can't include safely without the Vulkan SDK. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205903004 Review-Url: https://codereview.chromium.org/2205903004
* GN: re-run echo_headers if git state changes.Gravatar mtklein2016-08-02
| | | | | | | | | This should mean it re-runs if a header is added or removed. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206683002 Review-Url: https://codereview.chromium.org/2206683002
* gn: fix fiddleGravatar mtklein2016-08-02
| | | | | | | | | | | | | - __SK_FORCE_IMAGE_DECODER_LINKING makes sure the PNG encoder is linked - updated path to make working with sample draw.cpp easier. No public API changes. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202353002 Review-Url: https://codereview.chromium.org/2202353002
* Rename FontConfigInterface font manager files.Gravatar bungeman2016-08-02
| | | | | | | | | | | | These files are now so badly misnamed that it is causing problems. The original files are kept as shells until Chromium and PDFium can be updated. After Chromium and PDFium builds are updated, the old files will be removed and the cmake and bzl builds will be updated. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199973002 CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2199973002
* GN: add some missing SkCodec definesGravatar mtklein2016-08-01
| | | | | | | | | | TURBO_HAS_... WEBP_SWAP_16BIT_CSP BUG=skia:5591 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196413003 Review-Url: https://codereview.chromium.org/2196413003
* GN: use the correct fontconfig font mugger.Gravatar mtklein2016-08-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202733002 Review-Url: https://codereview.chromium.org/2202733002
* GN: define fake-gamma configuration to match our bots.Gravatar mtklein2016-08-01
| | | | | | | | | This should fix many of the GN text diffs in Gold. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195393002 Review-Url: https://codereview.chromium.org/2195393002
* GN: Define SK_HAS_... in all Skia-private code, not just libskia.Gravatar mtklein2016-08-01
| | | | | | | | | | | | | | | | | SkForceLinking wasn't force-linking the WEBP encoder, or any encoder. (The others must be explicitly used.) This should help the GN Debug Perf bots progress past Running Encode_color_wheel.jpg_WEBP nonrendering ../../../bench/EncoderBench.cpp:58: fatal error: "assert(data)" On my laptop, a debug nanobench run now finishes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196243002 Review-Url: https://codereview.chromium.org/2196243002
* GN: nanobenchGravatar mtklein2016-07-28
| | | | | | | | | | | | | | | | Add nanobench, and while we're at it monobench to show off how cool source_sets are... the bench files are only built once then linked into both binaries. With GYP we build them twice. :/ Same deal for GMs between nanobench and DM... build once, link twice. nanobench uses SkImageEncoder to encode its .pngs, which requires we link in the image encoders, which requires we get them all in. That's the bulk of this. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193513002 Review-Url: https://codereview.chromium.org/2193513002
* Make both SK_API definition points identical and order independent.Gravatar mtklein2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189983002 Review-Url: https://codereview.chromium.org/2189983002
* Turn on flags to enforce SK_API.Gravatar mtklein2016-07-27
| | | | | | | | | | | | | | | | These flags hide symbols that are not marked with SK_API when linked into a shared library. There's nominally no effect on static linking, but I'm pretty sure the Mac linker takes some advantage of this too to run faster. This makes component-build DM no longer link: it uses many non SK_API APIs. Fiddle in contrast is just fine with our public APIs, so no need to restrict that. It'll be fun finding out which of our other tools go which ways. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2180383003 Review-Url: https://codereview.chromium.org/2180383003
* GN: dmGravatar mtklein2016-07-27
| | | | | | | | | | | | | | | | This builds, links, and runs on Linux. Have not tried Mac. I've tested is_debug={true,false} and is_component_build. It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :) The GPU backend isn't working yet, but all the software configurations I've tried look good. This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188643002 Review-Url: https://codereview.chromium.org/2188643002
* GN: fixes for MacGravatar mtklein2016-07-27
| | | | | | | | | | | | | | - Make fiddle build on Mac (skipping GL). - Now that we're building in SkCodec, we depend on libpng and libjpeg-turbo unconditionally, not just on Linux. - Re-arrange third_party a bit so that our targets are Fuchsia/Chrome compatible. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184133002 NOTREECHECKS=true This doesn't affect Chrome/Blink, so landing through the closed tree. Review-Url: https://codereview.chromium.org/2184133002
* Start on fiddle.Gravatar mtklein2016-07-26
| | | | | | | | | Mostly stolen from Joe. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188493002 Review-Url: https://codereview.chromium.org/2188493002
* Basic standalone GN configs.Gravatar mtklein2016-07-21
| | | | | | | | | | | | | This sketches out what a world without Chrome's GN configs would look like. Instead of DEPSing in build/, we now host our own gypi_to_gn.py. The symlink from skia/ to . lets us run gclient hooks when the .gclient file is in the directory above skia/ or inside skia/. That means we don't need gn.py anymore. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167163002 Review-Url: https://codereview.chromium.org/2167163002
* GN: polyfill is_fuchsiaGravatar mtklein2016-07-19
| | | | | | | | | | | | I'll tell you what, I need to practice typing fuchsia out a few hundred times... I managed to spell it three different ways in this CL. Plus, gn format BUILD.gn BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164453003 Review-Url: https://codereview.chromium.org/2164453003
* Add support for FuchsiaGravatar abarth2016-07-15
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152273002 [mtklein edit from here down] No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2152273002
* GNGravatar mtklein2016-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | What we've got here is a little GN MVP. It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo. I've been hopping back and forth between Linux at work and Mac at home. These seem to be at least partially working, enough to build and run cmake/example.cpp. The xcode backend seems to work. From here, we can start exploring how to handle other backends (cmake,Android make, Google3). There are a couple things I want to try: - add another backend like vs or xcode to GN directly - intercept via a custom toolchain - reverse from ninja -t commands That last option seems kind of fun. This tries to piggyback on Chrome's GN setup as much as possible. Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients. This pulls in some new DEPS: - build: Chrome's GN configuration, and much more - buildtools: hashes for gn binary, pulled via hooks - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build It additionally symlinks tools/gyp to third_party/externals/gyp. GN pulls some stuff from tools/gyp on Mac. Have not yet tried building for Windows, Android, or iOS. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002 Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17 Review-Url: https://codereview.chromium.org/2087593002
* Revert of GN (patchset #12 id:220001 of ↵Gravatar mtklein2016-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2087593002/ ) Reason for revert: gclient not happy on some bots Original issue's description: > GN > > What we've got here is a little GN MVP. It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo. I've been hopping back and forth between Linux at work and Mac at home. These seem to be at least partially working, enough to build and run cmake/example.cpp. > > The xcode backend seems to work. From here, we can start exploring how to handle other backends (cmake,Android make, Google3). There are a couple things I want to try: > - add another backend like vs or xcode to GN directly > - intercept via a custom toolchain > - reverse from ninja -t commands > That last option seems kind of fun. > > This tries to piggyback on Chrome's GN setup as much as possible. Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients. > > This pulls in some new DEPS: > - build: Chrome's GN configuration, and much more > - buildtools: hashes for gn binary, pulled via hooks > - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build > It additionally symlinks tools/gyp to third_party/externals/gyp. GN pulls some stuff from tools/gyp on Mac. > > Have not yet tried building for Windows, Android, or iOS. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002 > > Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17 TBR=bsalomon@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2088253002
* GNGravatar mtklein2016-06-22
What we've got here is a little GN MVP. It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo. I've been hopping back and forth between Linux at work and Mac at home. These seem to be at least partially working, enough to build and run cmake/example.cpp. The xcode backend seems to work. From here, we can start exploring how to handle other backends (cmake,Android make, Google3). There are a couple things I want to try: - add another backend like vs or xcode to GN directly - intercept via a custom toolchain - reverse from ninja -t commands That last option seems kind of fun. This tries to piggyback on Chrome's GN setup as much as possible. Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients. This pulls in some new DEPS: - build: Chrome's GN configuration, and much more - buildtools: hashes for gn binary, pulled via hooks - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build It additionally symlinks tools/gyp to third_party/externals/gyp. GN pulls some stuff from tools/gyp on Mac. Have not yet tried building for Windows, Android, or iOS. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002 Review-Url: https://codereview.chromium.org/2087593002