BUILD.gn revision 38925aa37c17c0f54868852b8c3edf373400c742
1c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Copyright 2016 Google Inc. 2c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# 3c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Use of this source code is governed by a BSD-style license that can be 4c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# found in the LICENSE file. 5c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 68c24f4fae3389b9937eb73128e76226cffebdd72mikejurkaimport("gn/shared_sources.gni") 7b944728b93a1623d73be31413a6798e0b7dddc16brettw 83e8012e74f70bf49427a7422f9e5996c9882d4f3mtkleinif (!defined(is_skia_standalone)) { 93e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein is_skia_standalone = false 103e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein} 113e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein 12c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() { 136321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 143cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 15cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 16457b42a6398020c3791f62f8c8637653e0d39bccmtklein skia_use_giflib = !is_fuchsia 176321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 186321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 19eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 20a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 216321381d18f9d478598c0996c1380633003961ddmtklein skia_use_sfntly = !is_fuchsia 22f29180e65afdd3bd5ff3c1a2f8d456f9aea125edmtklein skia_use_vulkan = is_android && defined(ndk_api) && ndk_api >= 24 236321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 241bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 251bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 2606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 273e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_tools = is_skia_standalone 283e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_vulkan_debug_layers = is_skia_standalone && is_debug 29c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 30c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 3138925aa37c17c0f54868852b8c3edf373400c742mtklein# Our tools require static linking (they use non-exported symbols). 3238925aa37c17c0f54868852b8c3edf373400c742mtkleinskia_enable_tools = skia_enable_tools && !is_component_build 3306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 34a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 35a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 361211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 3725c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 38fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 391211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 401211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 411211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 421211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 431211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 441211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 451211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 461211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 471211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 4825c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 491211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 501211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 5125c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 521211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 531211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 54c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 55c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 561211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 57c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_DLL" ] 585561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio if (is_linux) { 595561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 605561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 61cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 62cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein defines += skia_android_framework_defines 63cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 6406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 6506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 6606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 67c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 68c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 69c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 70c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 71c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 72c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 73c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 761211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 77c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/config", 78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 8025c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 8125c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 82c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 83c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 84c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 86c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 87c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 882b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 919e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 937a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx", 96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 97150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 986321381d18f9d478598c0996c1380633003961ddmtklein defines = [ "SK_GAMMA_APPLY_TO_A8" ] 99b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 100b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 101b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 102b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 103b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 104b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 10588a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 10688a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 10788a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 10888a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 109c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 111c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 113c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 114c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 116c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 118c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 119c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 120c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 121c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 122c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1239b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1249b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1259b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1269b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1279b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1289b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1299b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1309b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1319b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1329b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1339b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1349b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1359b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1369b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1379b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1389b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1399b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1409b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 141a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 142a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 143422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 144c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1457d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1467d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 147b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 148b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 149b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 150b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1517d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 152b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 153b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 1547d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 155b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 156b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 157b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 158b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 159b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 160b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 161b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 162b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 163b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 164b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 165b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 166b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 167b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 168b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1699b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 1709b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 171b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 1729b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse2" ] 1739b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1744e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1759b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 1769b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 177b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 1789b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-mssse3" ] 1799b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1804e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1819b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 1829b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 183b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 1849b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse4.1" ] 1859b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 186c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1879b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 1889b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 189b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 1909b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse4.2" ] 1919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1929b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 1939b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 1949b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 195b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 1969b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-mavx" ] 197c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 198c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 199349cecefe21e2b45acc201290cc4e4fa93b4ad76mtkleinopts("dsp") { 200349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein enabled = current_cpu == "mipsel" 201b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.mips_dsp_sources 202b6064ef5b822ebc14d62170bd4ffa2f7c9bfbe4dmtklein cflags = [] 203349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein} 204349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein 205c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 206457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 207457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 208457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 209cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 210cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 211cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 212457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 213457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 214cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 215cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 216cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 217cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 218cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 219cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 220457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 2219b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 222457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 223457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 224457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 225457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 226457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 227457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 228457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 229457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 2306ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 231457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 232cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 233457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 234cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 235cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 236cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 237cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 238457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 239eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 240eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 241457b42a6398020c3791f62f8c8637653e0d39bccmtklein 242a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 243a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 244a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 245a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 246a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 247a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 248a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 249a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 250a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 251a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 252a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 253a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 254a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 255a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 256d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 257d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 258d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 259d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 260d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 261d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 262d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 263d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 264d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 265d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 266d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 267d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 2683cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 2693cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 2703cc22180561ae17a64ff0e0f9ba173eac149009emtklein 2713cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 2723cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 2733cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 2743cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 2753cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 2761ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 2773cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 2783cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 2793cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 2803cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 2813cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 2823cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 2833cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 2843cc22180561ae17a64ff0e0f9ba173eac149009emtklein 285cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 286cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 287cdedd0e061f3f50cd217638c28b27d798d930896mtklein 288cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 289cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 290cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 291cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 292cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 293cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 294cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 295cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 296cdedd0e061f3f50cd217638c28b27d798d930896mtklein 297457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("gif") { 298457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_giflib 299457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_GIF_LIBRARY" ] 300457b42a6398020c3791f62f8c8637653e0d39bccmtklein 301457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 302457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/giflib", 303457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 304457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 305457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkGifCodec.cpp", 306457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 307457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 308457b42a6398020c3791f62f8c8637653e0d39bccmtklein 30906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 31006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 311e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 312e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 31306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 31406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 31506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 31606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 31706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 31806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 31906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 32006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 32106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 32206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 32306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 32406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 32506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 32606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 32706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 32806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 32906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 330e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein libs = [] 331e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 332e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 333e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 334e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 335e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein libs += [ "vulkan" ] 336e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 337e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 338e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 339e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 34006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 34106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 3426321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 3436321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 3446321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 3456321381d18f9d478598c0996c1380633003961ddmtklein 3466321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3476321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 3486321381d18f9d478598c0996c1380633003961ddmtklein ] 3496321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3506321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 3516321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 3526321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 3536321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 3546321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 3556321381d18f9d478598c0996c1380633003961ddmtklein ] 3566321381d18f9d478598c0996c1380633003961ddmtklein} 3576321381d18f9d478598c0996c1380633003961ddmtklein 3586321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 3596321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_zlib 3606321381d18f9d478598c0996c1380633003961ddmtklein 3616321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3626321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 3636321381d18f9d478598c0996c1380633003961ddmtklein ] 364b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 365cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 3666321381d18f9d478598c0996c1380633003961ddmtklein 3676321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 3686321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 369cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein public_defines = [ "SK_PDF_USE_SFNTLY" ] 3706321381d18f9d478598c0996c1380633003961ddmtklein } 3716321381d18f9d478598c0996c1380633003961ddmtklein} 3726321381d18f9d478598c0996c1380633003961ddmtklein 3736321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 3746321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 3756321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 3766321381d18f9d478598c0996c1380633003961ddmtklein 3776321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3786321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 3796321381d18f9d478598c0996c1380633003961ddmtklein ] 3806321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3816321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 3826321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 3836321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 3846321381d18f9d478598c0996c1380633003961ddmtklein ] 3856321381d18f9d478598c0996c1380633003961ddmtklein} 3866321381d18f9d478598c0996c1380633003961ddmtklein 3873cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 3883cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 3893cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3903cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3913cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3923cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3933cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3943cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 3953cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 3963cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3973cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3983cc22180561ae17a64ff0e0f9ba173eac149009emtklein 399457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 400457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 401457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 402457b42a6398020c3791f62f8c8637653e0d39bccmtklein 403457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 404457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 405457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 406457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 407457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 408457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 409457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 410457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 411457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 412eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 4136321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 4146321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 4156321381d18f9d478598c0996c1380633003961ddmtklein 4166321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4176321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 4186321381d18f9d478598c0996c1380633003961ddmtklein ] 4196321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4206321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 4216321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 4226321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 4236321381d18f9d478598c0996c1380633003961ddmtklein ] 4246321381d18f9d478598c0996c1380633003961ddmtklein} 4256321381d18f9d478598c0996c1380633003961ddmtklein 426c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 427c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 428c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 429c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 430c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 431b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 432b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 4339b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 434b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 435349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein ":dsp", 436a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 437d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 4383cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 439cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 440457b42a6398020c3791f62f8c8637653e0d39bccmtklein ":gif", 44106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 4426321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 4439b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 4446321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 4456321381d18f9d478598c0996c1380633003961ddmtklein ":png", 4469b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 4479b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 4489b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 4499b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 4503cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 451eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 4526321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 453c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 454c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 455c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 456b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 457b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 458b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 459b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 460c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 46125c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 46225c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 46325c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 4641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 4651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 4661211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 4671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 4681211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 4691211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 4701211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 4711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 47225c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 4731211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 4741211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 4751211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 476c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 477c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder_Factory.cpp", 4782b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/images/SkKTXImageEncoder.cpp", 479c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 480c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 4811211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 482c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 483c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 484c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 485c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 48625c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 48725c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 488c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 489c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 490c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx/ktx.cpp", 491c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 492b944728b93a1623d73be31413a6798e0b7dddc16brettw 4937d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 4947d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 495c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 496c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 497c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 498c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 499c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 500c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw_factory.cpp", 501c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 502c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 503c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 504c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 505c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 506c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 50725c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS.cpp", 508c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 509b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 510b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 511c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 512c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 513c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 514c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 51525c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS_None.cpp", 516c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 517c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 518c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 5197d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 5207d6fb2c92d096ac3630e23d561a4077a974a815cmtklein deps += [ 5217d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/cpu-features", 5227d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/expat", 5237d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 52406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 5257d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 5267d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 5277d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 5287d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 5297d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 5307d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 5317d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 532c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 53309e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 53409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 53509e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 53609e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 53709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 53806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 539c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 540c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 541c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 542c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 5437d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 544c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 545c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 546c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 547c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 54809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 54909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 55009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 55109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 552c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 5536fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 5546fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 55506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 5566fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 557c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 558c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 559ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtkleinskia_h_headers = exec_script("gyp/find.py", 560ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ "*.h" ] + rebase_path(skia_public_includes), 561ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein "list lines", 562ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein []) - 563ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ 564ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), 565ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkBackendContext.h"), 566ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkDefines.h"), 567ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkInterface.h"), 568ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkTypes.h"), 569ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/ports/SkFontMgr_fontconfig.h"), 570ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein ] 571ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein 5721211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") { 5731211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein script = "gn/echo_headers.py" 5741211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + 575c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path(skia_h_headers, target_gen_dir) 5761211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein outputs = [ 5771211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "$target_gen_dir/skia.h", 5781211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein ] 5791211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein} 5801211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 58106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinif (skia_enable_gpu && target_cpu == "x64") { 5821fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # Our bots only have 64-bit libOSMesa installed. 5831fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # TODO: worth fixing? 5841fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein executable("fiddle") { 5851fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein include_dirs = [ "$target_gen_dir" ] 5861fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs = [] 5871fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein if (is_linux) { 5881fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs += [ "OSMesa" ] 5891fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 59056d5669095feca663e9e05f4621146abeee626ecmtklein 5911fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein sources = [ 5921fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "src/images/SkForceLinking.cpp", 5931fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/draw.cpp", 5941fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/fiddle_main.cpp", 5951fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 5961fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein deps = [ 5971fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia", 5981fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia.h", 5991fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6001fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 601c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 60225c81d4e651b43b8217c365c87d530036529a673mtklein 603c095df55e86e7126b0582856720bb9177b553ff1mtklein# Targets guarded by skia_enable_tools may use //third_party freely. 604c095df55e86e7126b0582856720bb9177b553ff1mtkleinif (skia_enable_tools) { 605c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 606c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 607c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 608a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 609a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 610a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 611c095df55e86e7126b0582856720bb9177b553ff1mtklein } 612c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 613c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 614c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 615c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 616c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 617c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 618c095df55e86e7126b0582856720bb9177b553ff1mtklein 619c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 620c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 621c095df55e86e7126b0582856720bb9177b553ff1mtklein } 622c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 623c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 624c095df55e86e7126b0582856720bb9177b553ff1mtklein } 62525c81d4e651b43b8217c365c87d530036529a673mtklein } 626c095df55e86e7126b0582856720bb9177b553ff1mtklein 627c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 62838925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 62938925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 63038925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 63138925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 63238925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 63338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 63438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 63538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 63638925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 63738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 63838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 63938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 64038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 64138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 64238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 64338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 64438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 64538925aa37c17c0f54868852b8c3edf373400c742mtklein ] 64638925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 64738925aa37c17c0f54868852b8c3edf373400c742mtklein 64838925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 64938925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 65038925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 65138925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 65238925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 65338925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 65438925aa37c17c0f54868852b8c3edf373400c742mtklein } 6556ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein 65638925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_vulkan) { 65738925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 65838925aa37c17c0f54868852b8c3edf373400c742mtklein } 65938925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 66038925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 66138925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 66238925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 66338925aa37c17c0f54868852b8c3edf373400c742mtklein } 664a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 66525c81d4e651b43b8217c365c87d530036529a673mtklein } 66625c81d4e651b43b8217c365c87d530036529a673mtklein 667c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 668c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 669c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 670c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 671046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 672046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 673046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 674046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 675046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 676c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 677c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 678c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 679c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 680046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 681c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 682c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 68325c81d4e651b43b8217c365c87d530036529a673mtklein } 68425c81d4e651b43b8217c365c87d530036529a673mtklein 685c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 686c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 687c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 688c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 689c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 690c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 691c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 692c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/images/SkForceLinking.cpp", 693c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 694b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 695c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 6960590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 697c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 698c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 699c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 700c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 701c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 702c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 703c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 704c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 705c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkOverdrawMode.cpp", 706c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 707c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 708c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 709c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 710c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 711c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 712c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 713046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 714c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 715c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 716c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 717c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 718c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 719c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 720c095df55e86e7126b0582856720bb9177b553ff1mtklein } 72125c81d4e651b43b8217c365c87d530036529a673mtklein 722c095df55e86e7126b0582856720bb9177b553ff1mtklein gm_sources = exec_script("gyp/find.py", 723c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 724c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 725c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("gm"), 726c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 727c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 728c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 729c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 730c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 731c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 732c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 733c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 734c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 735c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 736c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 737c095df55e86e7126b0582856720bb9177b553ff1mtklein } 73825c81d4e651b43b8217c365c87d530036529a673mtklein 739c095df55e86e7126b0582856720bb9177b553ff1mtklein tests_sources = exec_script("gyp/find.py", 740c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 741c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 742c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("tests"), 743c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 744c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 745c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 746c095df55e86e7126b0582856720bb9177b553ff1mtklein 747c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 748c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 749a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = tests_sources - [ 750a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main 751a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile 752a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/skia_test.cpp"), # alternate main 753a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 754a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 755a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources -= [ rebase_path("tests/FontMgrAndroidParserTest.cpp") ] 756a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 757c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 7586cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 759c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 760c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 761c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 762c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 763c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 764c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 765c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 766c095df55e86e7126b0582856720bb9177b553ff1mtklein } 7672f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 768c095df55e86e7126b0582856720bb9177b553ff1mtklein bench_sources = exec_script("gyp/find.py", 769c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 770c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 771c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench"), 772c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 773c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 774c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 775c095df55e86e7126b0582856720bb9177b553ff1mtklein 776c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 777c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 778c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 779c095df55e86e7126b0582856720bb9177b553ff1mtklein sources -= [ 780c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobench.cpp"), 781c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobenchAndroid.cpp"), 782c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 783c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 784c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 785c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 786c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 787c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 788c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 789c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 790c095df55e86e7126b0582856720bb9177b553ff1mtklein } 7912b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 792c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 793c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 794c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 795c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 796c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 797c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 798c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 799c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 800c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 801c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 80228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 803c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 804c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 805c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 806c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 807c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 808c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 809c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 81028d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 811c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 812c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 813c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 814c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 815c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 816c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 817c095df55e86e7126b0582856720bb9177b553ff1mtklein } 818a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 8192b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("dm") { 8202b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8212b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 8222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 8232b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 8242b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8252b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 8262b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 827046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 828a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 8292b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8302b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 8312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 8322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8332f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 8342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 8352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 8362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 8372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 8402b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 8412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("monobench") { 8422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "tools/monobench.cpp", 8442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8452b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 8462b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 8472b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8482b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8492b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8502b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 8512b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 8522b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("nanobench") { 8532b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8542b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 8552b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8562b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 8572b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 858046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 8596519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 8602b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8612b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 8622b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 8632b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8642b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 8652b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 8662b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8672b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8682b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 86919a9720978700a24efed8dda7e0935ea2b7338c4halcanary 87038925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 87138925aa37c17c0f54868852b8c3edf373400c742mtklein executable("skpbench") { 87238925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 87338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/skpbench/skpbench.cpp", 87438925aa37c17c0f54868852b8c3edf373400c742mtklein ] 87538925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 87638925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 87738925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 87838925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 87938925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 88038925aa37c17c0f54868852b8c3edf373400c742mtklein ] 88138925aa37c17c0f54868852b8c3edf373400c742mtklein testonly = true 88238925aa37c17c0f54868852b8c3edf373400c742mtklein } 8834b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 8844b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 8856f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein if (current_cpu != "mipsel") { # Clang 3.8 crashes while compiling hb-icu.cc for mipsel. 8863eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf-hb") { 8876f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 8886f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 8896f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 8906f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 8916f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 8926f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 8936f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 8946f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 8956f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein testonly = true 8966f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 89719a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 8983eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf") { 8993eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 9003eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 9013eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 9023eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 9033eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 9043eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 9053eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 9063eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary testonly = true 9073eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 908046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 909046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein executable("get_images_from_skps") { 910046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 911046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 912046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 913046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 914046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 915046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 916046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 917046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 918046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein testonly = true 919046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 92025c81d4e651b43b8217c365c87d530036529a673mtklein} 921