| Index: BUILD.gn
|
| diff --git a/BUILD.gn b/BUILD.gn
|
| index 96ee6280945b45d8f92c5d061ca4ac6b1e0a4d40..d5a6ad0310cdd3e11dbc91217d57ba8e9b19d1d1 100644
|
| --- a/BUILD.gn
|
| +++ b/BUILD.gn
|
| @@ -20,6 +20,7 @@ declare_args() {
|
| skia_use_libpng = true
|
| skia_use_libwebp = !is_fuchsia
|
| skia_use_mesa = false
|
| + skia_use_raw = !is_win
|
| skia_use_sfntly = !is_fuchsia && !is_win # TODO: icu on Windows, re-enable this.
|
| skia_use_zlib = true
|
|
|
| @@ -284,9 +285,13 @@ template("optional") {
|
| [
|
| "public_defines",
|
| "sources_when_disabled",
|
| + "configs_to_remove",
|
| ])
|
| all_dependent_configs = [ ":" + target_name + "_public" ]
|
| configs += skia_library_configs
|
| + if (defined(invoker.configs_to_remove)) {
|
| + configs -= invoker.configs_to_remove
|
| + }
|
| }
|
| } else {
|
| source_set(target_name) {
|
| @@ -298,6 +303,7 @@ template("optional") {
|
| "libs",
|
| "sources",
|
| "sources_when_disabled",
|
| + "configs_to_remove",
|
| ])
|
| if (defined(invoker.sources_when_disabled)) {
|
| sources = invoker.sources_when_disabled
|
| @@ -442,6 +448,26 @@ optional("png") {
|
| ]
|
| }
|
|
|
| +optional("raw") {
|
| + enabled = skia_use_raw && skia_use_libjpeg_turbo && skia_use_zlib
|
| + public_defines = [ "SK_CODEC_DECODES_RAW" ]
|
| +
|
| + deps = [
|
| + "//third_party/dng_sdk",
|
| + "//third_party/libjpeg-turbo:libjpeg",
|
| + "//third_party/piex",
|
| + ]
|
| +
|
| + # SkRawCodec catches any exceptions thrown by dng_sdk, insulating the rest of
|
| + # Skia.
|
| + configs_to_remove = [ "//gn:no_exceptions" ]
|
| +
|
| + sources = [
|
| + "src/codec/SkRawAdapterCodec.cpp",
|
| + "src/codec/SkRawCodec.cpp",
|
| + ]
|
| +}
|
| +
|
| optional("typeface_freetype") {
|
| enabled = skia_use_freetype
|
|
|
| @@ -501,6 +527,7 @@ component("skia") {
|
| ":none",
|
| ":pdf",
|
| ":png",
|
| + ":raw",
|
| ":sse2",
|
| ":sse41",
|
| ":sse42",
|
|
|