skia2/third_party
Brian Osman 50ea3c06b8 Add support for MSVC run-time checks (and control flow guard)
This enables four different options in the compiler, described
below. I also added enough masks to satisfy RTCc when running
all GMs in both 8888 and gl configs.

---

/RTCc - Detects when a value is assigned to a smaller data
type and results in data loss. This happens even when casting.
Masking is required to suppress this.

/RTCs - Various stack-related checks, including uninitialized
data (by initializing locals to a non-zero value), array bounds
checking, and stack pointer corruption that can occur with a
calling convention mismatch.

/RTCu - Reports when a variable is used without having been
initialized. Mostly redundant with compile-time checks.

/guard:cf - This is more of a security option, that computes
all possible targets for indirect calls at compile time, and
verifies that those are the only targets reached at compile
time. Also generates similar logic around switch statements
that turn into jump tables.

Bug: skia:
Change-Id: I7b527af8fd67dec0b6556f38bcd0efc3fd505856
Reviewed-on: https://skia-review.googlesource.com/c/188625
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-02-04 20:55:24 +00:00
..
angle2 Manual ANGLE roll to ffda3e2985f18f4ff6e3778af8b9715109b21ad0 2018-12-19 21:16:02 +00:00
cpu-features GN: Android 2016-08-25 14:50:44 -07:00
dng_sdk remove mips support and bots 2017-12-05 17:19:45 +00:00
etc1 Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
expat Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
freetype2 Roll FreeType to pick up color stuff. 2018-05-31 15:10:13 +00:00
gif Rename SkCodec::kNone to SkCodec::kNoFrame 2018-08-22 14:49:56 +00:00
harfbuzz DEPS: update Harfbuzz to 2.1.1 2018-11-15 23:10:03 +00:00
icu third_party/icu: move file list to icu.gni 2019-01-29 03:26:47 +00:00
imgui Update ImGui to 1.67 2019-01-22 22:12:43 +00:00
jsoncpp Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
libjpeg-turbo Don't try to use NEON ASM files on Windows 2018-12-07 18:31:52 +00:00
libmicrohttpd GN/Win: everything links on my machine. 2016-10-12 16:39:42 +00:00
libpng Ignore PLTE chunks in non-palette PNGs 2018-08-27 15:05:47 +00:00
libsdl Add iOS support for SkiaSDLExample. 2017-08-30 18:56:46 +00:00
libwebp Update libwebp to 1.0.2-rc1 2019-01-17 16:00:25 +00:00
lua avoid using tmpnam() in Lua 2018-02-01 22:39:59 +00:00
native_app_glue Add Android viewer to GN 2016-10-21 15:19:32 +00:00
Nima-Cpp [canvaskit] Expose nima animation as POC 2018-10-30 20:15:28 +00:00
piex Reland "Build SkRawCodec in GN" 2016-10-31 09:02:57 -07:00
sfntly Compile the skia library for windows using gn. 2016-09-16 13:29:57 -07:00
skcms Roll skia/third_party/skcms cd2260c9f528..0c0f6dee2779 (1 commits) 2019-01-31 18:59:12 +00:00
spirv-headers wired up SPIR-V validator 2017-03-16 14:42:20 +00:00
spirv-tools corrected spirv tools output file name 2017-09-25 13:28:29 +00:00
vulkanmemoryallocator Don't include system vulkan header when building skia files. 2018-12-27 19:21:00 +00:00
wuffs Update third_party/wuffs version 2019-01-07 15:13:07 +00:00
zlib clang on windows support 2017-07-31 18:39:23 +00:00
BUILD.gn GN: Android 2016-08-25 14:50:44 -07:00
README BUG=skia:5602 2016-09-02 11:19:34 -07:00
third_party.gni Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00

The third_party directory contains a set of dependencies from outside sources
that are needed to build various components and tools within Skia.  

Some of these dependencies reside within the Skia repo, while others are pulled 
from other repositories and placed in the third_party/externals directory
during build. These external dependencies are defined in a DEPS file.

Products in third_party are subject to their own respective license terms.  The
license for each project should be included in the source itself via a license
header or file.  If the source itself does not include a license header or file,
create a README that refers to reliable documentation of the project's license
terms on the web.