BUILD.gn revision a627b5c3b9004118621bfa99f3952465adfa4ad6
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 8c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() { 96321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 103cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 11cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 12457b42a6398020c3791f62f8c8637653e0d39bccmtklein skia_use_giflib = !is_fuchsia 136321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 146321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 15eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 16a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 176321381d18f9d478598c0996c1380633003961ddmtklein skia_use_sfntly = !is_fuchsia 18f29180e65afdd3bd5ff3c1a2f8d456f9aea125edmtklein skia_use_vulkan = is_android && defined(ndk_api) && ndk_api >= 24 196321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 201bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 211bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 2206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 2306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_tools = !is_fuchsia 24c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 25c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 2606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein# Our tools require static linking (they use non-exported symbols) and GPU support (just lazy). 2706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinskia_enable_tools = skia_enable_tools && skia_enable_gpu && !is_component_build 2806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 29a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 30a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 311211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 3225c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 33fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 341211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 351211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 361211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 371211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 381211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 391211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 401211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 411211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 421211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 4325c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 441211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 451211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 4625c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 471211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 481211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 49c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 50c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 511211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 52c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_DLL" ] 535561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio if (is_linux) { 545561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 555561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 56cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 57cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein defines += skia_android_framework_defines 58cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 5906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 6006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 6106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 62c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 63c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 64c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 65c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 66c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 67c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 68c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 69c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 70c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 72c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/config", 73c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 7525c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 7625c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 77c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 80c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 81c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 82c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 832b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 84c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 869e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 87c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 887a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx", 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 92150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 936321381d18f9d478598c0996c1380633003961ddmtklein defines = [ "SK_GAMMA_APPLY_TO_A8" ] 94b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 95b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 96b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 97b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 98b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 99b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 10088a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 10188a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 10288a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 10388a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 104c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 105c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 106c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 107c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 108c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 109c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 111c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 113c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 114c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 116c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1189b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1199b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1209b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1219b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1229b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1239b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1249b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1259b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1269b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1279b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1289b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1299b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1309b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1319b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1329b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1339b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1349b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1359b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 136a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 137a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 138422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 139c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1407d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1417d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 142b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 143b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 144b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 145b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1467d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 147b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 148b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 1497d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 150b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 151b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 152b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 153b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 154b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 155b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 156b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 157b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 158b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 159b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 160b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 161b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 162b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 163b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1649b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 1659b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 166b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 1679b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse2" ] 1689b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1694e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1709b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 1719b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 172b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 1739b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-mssse3" ] 1749b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1754e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1769b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 1779b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 178b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 1799b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse4.1" ] 1809b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 181c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1829b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 1839b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 184b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 1859b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse4.2" ] 1869b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1879b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 1889b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 1899b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 190b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 1919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-mavx" ] 192c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 193c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 194349cecefe21e2b45acc201290cc4e4fa93b4ad76mtkleinopts("dsp") { 195349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein enabled = current_cpu == "mipsel" 196b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.mips_dsp_sources 197b6064ef5b822ebc14d62170bd4ffa2f7c9bfbe4dmtklein cflags = [] 198349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein} 199349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein 200c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 201457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 202457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 203457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 204cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 205cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 206cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 207457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 208457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 209cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 210cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 211cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 212cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 213cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 214cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 215457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 2169b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 217457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 218457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 219457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 220457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 221457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 222457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 223457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 224457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 2256ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 226457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 227cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 228457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 229cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 230cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 231cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 232cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 233457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 234eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 235eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 236457b42a6398020c3791f62f8c8637653e0d39bccmtklein 237a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 238a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 239a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 240a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 241a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 242a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 243a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 244a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 245a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 246a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 247a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 248a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 249a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 250a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 251d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 252d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 253d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 254d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 255d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 256d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 257d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 258d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 259d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 260d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 261d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 262d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 2633cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 2643cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 2653cc22180561ae17a64ff0e0f9ba173eac149009emtklein 2663cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 2673cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 2683cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 2693cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 2703cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 2711ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 2723cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 2733cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 2743cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 2753cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 2763cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 2773cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 2783cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 2793cc22180561ae17a64ff0e0f9ba173eac149009emtklein 280cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 281cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 282cdedd0e061f3f50cd217638c28b27d798d930896mtklein 283cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 284cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 285cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 286cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 287cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 288cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 289cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 290cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 291cdedd0e061f3f50cd217638c28b27d798d930896mtklein 292457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("gif") { 293457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_giflib 294457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_GIF_LIBRARY" ] 295457b42a6398020c3791f62f8c8637653e0d39bccmtklein 296457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 297457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/giflib", 298457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 299457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 300457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkGifCodec.cpp", 301457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 302457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 303457b42a6398020c3791f62f8c8637653e0d39bccmtklein 30406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 30506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 30606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 30706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 30806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 30906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 31006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 31106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 31206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 31306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 31406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 31506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 31606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 31706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 31806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 31906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 32006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 32106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 32206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 32306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 32406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 3256321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 3266321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 3276321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 3286321381d18f9d478598c0996c1380633003961ddmtklein 3296321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3306321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 3316321381d18f9d478598c0996c1380633003961ddmtklein ] 3326321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3336321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 3346321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 3356321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 3366321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 3376321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 3386321381d18f9d478598c0996c1380633003961ddmtklein ] 3396321381d18f9d478598c0996c1380633003961ddmtklein} 3406321381d18f9d478598c0996c1380633003961ddmtklein 3416321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 3426321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_zlib 3436321381d18f9d478598c0996c1380633003961ddmtklein 3446321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3456321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 3466321381d18f9d478598c0996c1380633003961ddmtklein ] 347b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 348cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 3496321381d18f9d478598c0996c1380633003961ddmtklein 3506321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 3516321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 352cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein public_defines = [ "SK_PDF_USE_SFNTLY" ] 3536321381d18f9d478598c0996c1380633003961ddmtklein } 3546321381d18f9d478598c0996c1380633003961ddmtklein} 3556321381d18f9d478598c0996c1380633003961ddmtklein 3566321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 3576321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 3586321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 3596321381d18f9d478598c0996c1380633003961ddmtklein 3606321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3616321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 3626321381d18f9d478598c0996c1380633003961ddmtklein ] 3636321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3646321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 3656321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 3666321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 3676321381d18f9d478598c0996c1380633003961ddmtklein ] 3686321381d18f9d478598c0996c1380633003961ddmtklein} 3696321381d18f9d478598c0996c1380633003961ddmtklein 3703cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 3713cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 3723cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3733cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3743cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3753cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3763cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3773cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 3783cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 3793cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3803cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3813cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3826ef6999017febaf0039b83c1ff4da1efe9c0e85dmtkleinoptional("vulkan") { 3836ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein enabled = skia_use_vulkan 3846ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein public_defines = [ "SK_VULKAN" ] 3856ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein libs = [ "vulkan" ] 3866ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein sources = skia_vk_sources 3876ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein} 3886ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein 389457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 390457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 391457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 392457b42a6398020c3791f62f8c8637653e0d39bccmtklein 393457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 394457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 395457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 396457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 397457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 398457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 399457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 400457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 401457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 402eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 4036321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 4046321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 4056321381d18f9d478598c0996c1380633003961ddmtklein 4066321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4076321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 4086321381d18f9d478598c0996c1380633003961ddmtklein ] 4096321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4106321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 4116321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 4126321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 4136321381d18f9d478598c0996c1380633003961ddmtklein ] 4146321381d18f9d478598c0996c1380633003961ddmtklein} 4156321381d18f9d478598c0996c1380633003961ddmtklein 416c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 417c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 418c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 419c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 420c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 421b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 422b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 4239b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 424b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 425349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein ":dsp", 426a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 427d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 4283cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 429cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 430457b42a6398020c3791f62f8c8637653e0d39bccmtklein ":gif", 43106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 4326321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 4339b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 4346321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 4356321381d18f9d478598c0996c1380633003961ddmtklein ":png", 4369b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 4379b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 4389b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 4399b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 4403cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 4416ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein ":vulkan", 442eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 4436321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 444c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 445c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 446c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 447b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 448b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 449b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 450b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 451c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 45225c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 45325c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 45425c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 4551211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 4561211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 4571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 4581211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 4591211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 4601211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 4611211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 4621211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 46325c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 4641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 4651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 4661211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 467c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 468c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder_Factory.cpp", 4692b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/images/SkKTXImageEncoder.cpp", 470c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 471c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 4721211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 473c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 474c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 475c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 476c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 47725c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 47825c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 479c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 480c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 481c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx/ktx.cpp", 482c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 483b944728b93a1623d73be31413a6798e0b7dddc16brettw 4847d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 4857d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 486c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 487c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 488c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 489c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 490c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 491c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw_factory.cpp", 492c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 493c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 494c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 495c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 496c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 497c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 49825c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS.cpp", 499c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 500b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 501b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 502c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 503c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 504c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 505c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 50625c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS_None.cpp", 507c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 508c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 509c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 5107d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 5117d6fb2c92d096ac3630e23d561a4077a974a815cmtklein deps += [ 5127d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/cpu-features", 5137d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/expat", 5147d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 51506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 5167d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 5177d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 5187d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 5197d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 5207d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 5217d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 5227d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 523c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 52409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 52509e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 52609e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 52709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 52809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 52906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 530c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 531c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 532c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 533c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 5347d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 535c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 536c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 537c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 538c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 53909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 54009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 54109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 54209e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 543c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 5446fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 5456fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 54606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 5476fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 548c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 549c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 550ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtkleinskia_h_headers = exec_script("gyp/find.py", 551ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ "*.h" ] + rebase_path(skia_public_includes), 552ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein "list lines", 553ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein []) - 554ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ 555ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), 556ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkBackendContext.h"), 557ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkDefines.h"), 558ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkInterface.h"), 559ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkTypes.h"), 560ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/ports/SkFontMgr_fontconfig.h"), 561ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein ] 562ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein 5631211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") { 5641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein script = "gn/echo_headers.py" 5651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + 566c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path(skia_h_headers, target_gen_dir) 5671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein outputs = [ 5681211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "$target_gen_dir/skia.h", 5691211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein ] 5701211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein} 5711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 57206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinif (skia_enable_gpu && target_cpu == "x64") { 5731fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # Our bots only have 64-bit libOSMesa installed. 5741fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # TODO: worth fixing? 5751fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein executable("fiddle") { 5761fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein include_dirs = [ "$target_gen_dir" ] 5771fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs = [] 5781fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein if (is_linux) { 5791fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs += [ "OSMesa" ] 5801fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 58156d5669095feca663e9e05f4621146abeee626ecmtklein 5821fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein sources = [ 5831fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "src/images/SkForceLinking.cpp", 5841fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/draw.cpp", 5851fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/fiddle_main.cpp", 5861fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 5871fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein deps = [ 5881fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia", 5891fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia.h", 5901fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 5911fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 592c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 59325c81d4e651b43b8217c365c87d530036529a673mtklein 594c095df55e86e7126b0582856720bb9177b553ff1mtklein# Targets guarded by skia_enable_tools may use //third_party freely. 595c095df55e86e7126b0582856720bb9177b553ff1mtkleinif (skia_enable_tools) { 596c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 597c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 598c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 599a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 600a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 601a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 602c095df55e86e7126b0582856720bb9177b553ff1mtklein } 603c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 604c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 605c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 606c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 607c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 608c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 609c095df55e86e7126b0582856720bb9177b553ff1mtklein 610c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 611c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 612c095df55e86e7126b0582856720bb9177b553ff1mtklein } 613c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 614c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 615c095df55e86e7126b0582856720bb9177b553ff1mtklein } 61625c81d4e651b43b8217c365c87d530036529a673mtklein } 617c095df55e86e7126b0582856720bb9177b553ff1mtklein 618c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 619a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein public_defines = [] 620c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/gpu" ] 621c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 622c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/GrContextFactory.cpp", 623c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/GrTest.cpp", 624c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/TestContext.cpp", 625c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/GLTestContext.cpp", 626c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 627c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 628c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 629c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 630c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 631c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 632c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 633c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 63425c81d4e651b43b8217c365c87d530036529a673mtklein ] 635c095df55e86e7126b0582856720bb9177b553ff1mtklein libs = [] 63625c81d4e651b43b8217c365c87d530036529a673mtklein 6377d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 6387d6fb2c92d096ac3630e23d561a4077a974a815cmtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 6397d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } else if (is_linux) { 640c095df55e86e7126b0582856720bb9177b553ff1mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 641c095df55e86e7126b0582856720bb9177b553ff1mtklein } else if (is_mac) { 642c095df55e86e7126b0582856720bb9177b553ff1mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 64325c81d4e651b43b8217c365c87d530036529a673mtklein } 6446ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein 6456ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein if (skia_use_vulkan) { 6466ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 6476ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein } 648a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (skia_use_mesa) { 649a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein public_defines += [ "SK_MESA" ] 650a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 651a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein libs += [ "OSMesa" ] 652a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 65325c81d4e651b43b8217c365c87d530036529a673mtklein } 65425c81d4e651b43b8217c365c87d530036529a673mtklein 655c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 656c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 657c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 658c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 659046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 660046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 661046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 662046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 663046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 664c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 665c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 666c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 667c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 668046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 669c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 670c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 67125c81d4e651b43b8217c365c87d530036529a673mtklein } 67225c81d4e651b43b8217c365c87d530036529a673mtklein 673c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 674c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 675c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 676c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 677c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 678c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 679c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 680c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/images/SkForceLinking.cpp", 681c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 682b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 683c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 6840590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 685c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 686c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 687c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 688c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 689c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 690c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 691c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 692c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 693c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkOverdrawMode.cpp", 694c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 695c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 696c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 697c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 698c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 699c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 700c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 701046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 702c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 703c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 704c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 705c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 706c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 707c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 708c095df55e86e7126b0582856720bb9177b553ff1mtklein } 70925c81d4e651b43b8217c365c87d530036529a673mtklein 710c095df55e86e7126b0582856720bb9177b553ff1mtklein gm_sources = exec_script("gyp/find.py", 711c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 712c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 713c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("gm"), 714c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 715c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 716c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 717c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 718c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 719c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 720c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 721c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 722c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 723c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 724c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 725c095df55e86e7126b0582856720bb9177b553ff1mtklein } 72625c81d4e651b43b8217c365c87d530036529a673mtklein 727c095df55e86e7126b0582856720bb9177b553ff1mtklein tests_sources = exec_script("gyp/find.py", 728c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 729c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 730c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("tests"), 731c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 732c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 733c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 734c095df55e86e7126b0582856720bb9177b553ff1mtklein 735c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 736c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 737a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = tests_sources - [ 738a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main 739a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile 740a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/skia_test.cpp"), # alternate main 741a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 742a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 743a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources -= [ rebase_path("tests/FontMgrAndroidParserTest.cpp") ] 744a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 745c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 7466cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 747c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 748c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 749c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 750c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 751c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 752c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 753c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 754c095df55e86e7126b0582856720bb9177b553ff1mtklein } 7552f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 756c095df55e86e7126b0582856720bb9177b553ff1mtklein bench_sources = exec_script("gyp/find.py", 757c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 758c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 759c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench"), 760c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 761c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 762c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 763c095df55e86e7126b0582856720bb9177b553ff1mtklein 764c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 765c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 766c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 767c095df55e86e7126b0582856720bb9177b553ff1mtklein sources -= [ 768c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobench.cpp"), 769c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobenchAndroid.cpp"), 770c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 771c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 772c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 773c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 774c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 775c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 776c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 777c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 778c095df55e86e7126b0582856720bb9177b553ff1mtklein } 7792b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 780c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 781c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 782c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 783c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 784c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 785c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 786c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 787c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 788c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 789c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 79028d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 791c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 792c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 793c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 794c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 795c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 796c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 797c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 79828d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 799c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 800c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 801c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 802c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 803c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 804c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 805c095df55e86e7126b0582856720bb9177b553ff1mtklein } 806a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 8072b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("dm") { 8082b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8092b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 8102b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 8112b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 8122b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8132b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 8142b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 815046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 816a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 8172b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8182b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 8192b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 8202b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8212f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 8222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 8232b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 8242b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 8252b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8262b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8272b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 8282b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 8292b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("monobench") { 8302b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "tools/monobench.cpp", 8322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8332b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 8342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 8352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 8392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 8402b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("nanobench") { 8412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 8432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 8452b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 846046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 8476519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 8482b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8492b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 8502b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 8512b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8522b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 8532b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 8542b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8552b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8562b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 85719a9720978700a24efed8dda7e0935ea2b7338c4halcanary 8584b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton executable("skpbench") { 8594b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton sources = [ 8604b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton "tools/skpbench/skpbench.cpp", 8614b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton ] 8624b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton deps = [ 8634b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton ":flags", 8644b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton ":gpu_tool_utils", 8654b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton ":skia", 8664b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton ":tool_utils", 8674b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton ] 8684b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton testonly = true 8694b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 8704b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 8716f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein if (current_cpu != "mipsel") { # Clang 3.8 crashes while compiling hb-icu.cc for mipsel. 8723eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf-hb") { 8736f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 8746f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 8756f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 8766f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 8776f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 8786f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 8796f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 8806f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 8816f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein testonly = true 8826f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 88319a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 8843eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf") { 8853eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 8863eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 8873eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 8883eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 8893eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 8903eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 8913eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 8923eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary testonly = true 8933eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 894046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 895046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein executable("get_images_from_skps") { 896046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 897046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 898046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 899046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 900046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 901046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 902046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 903046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 904046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein testonly = true 905046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 90625c81d4e651b43b8217c365c87d530036529a673mtklein} 907