BUILD.gn revision bc34404dc3feb4dac854aa43825646dd01139ccb
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() { 13d68f9b00389bf676b171f250e684486cb2fbd404mtklein skia_use_angle = false 146321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 153cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 16cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 17457b42a6398020c3791f62f8c8637653e0d39bccmtklein skia_use_giflib = !is_fuchsia 186321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 196321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 20eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 21a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 226321381d18f9d478598c0996c1380633003961ddmtklein skia_use_sfntly = !is_fuchsia 23f29180e65afdd3bd5ff3c1a2f8d456f9aea125edmtklein skia_use_vulkan = is_android && defined(ndk_api) && ndk_api >= 24 246321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 251bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 261bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 2706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 283e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_tools = is_skia_standalone 293e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_vulkan_debug_layers = is_skia_standalone && is_debug 30c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 31c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 3238925aa37c17c0f54868852b8c3edf373400c742mtklein# Our tools require static linking (they use non-exported symbols). 3338925aa37c17c0f54868852b8c3edf373400c742mtkleinskia_enable_tools = skia_enable_tools && !is_component_build 3406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 35a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 36a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 371211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 3825c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 39fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 401211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 411211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 421211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 431211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 441211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 451211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 461211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 471211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 481211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 4925c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 501211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 511211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 5225c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 531211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 541211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 55c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 56c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 58c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_DLL" ] 59c4cbd74a38232a0e9f1cc1cc8fb826bb06c577a9Mike Klein if (is_fuchsia || is_linux) { 605561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 615561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 62cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 63cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein defines += skia_android_framework_defines 64cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 6506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 6606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 6706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 68c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 69c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 70c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 71c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 72c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 73c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 76c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 771211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/config", 79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 80c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 8125c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 8225c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 83c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 84c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 86c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 87c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 88c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 892b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 929e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 947a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx", 97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 98150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 996321381d18f9d478598c0996c1380633003961ddmtklein defines = [ "SK_GAMMA_APPLY_TO_A8" ] 100b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 101b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 102b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 103b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 104b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 105b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 10688a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 10788a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 10888a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 10988a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 111c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 113c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 114c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 116c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 118c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 119c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 120c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 121c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 122c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 123c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1249b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1259b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1269b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1279b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1289b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1299b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1309b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1319b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1329b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1339b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1349b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1359b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1369b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1379b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1389b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1399b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1409b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1419b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 142a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 143a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 144422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 145c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1467d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1477d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 148b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 149b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 150b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 151b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1527d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 153b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 154b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 1557d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 156b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 157b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 158b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 159b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 160b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 161b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 162b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 163b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 164b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 165b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 166b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 167b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 168b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 169b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1709b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 1719b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 172b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 1739b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse2" ] 1749b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1754e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1769b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 1779b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 178b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 1799b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-mssse3" ] 1809b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1814e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1829b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 1839b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 184b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 1859b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse4.1" ] 1869b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 187c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1889b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 1899b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 190b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 1919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-msse4.2" ] 1929b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1939b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 1949b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 1959b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 196b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 1979b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein cflags = [ "-mavx" ] 198c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 199c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 200349cecefe21e2b45acc201290cc4e4fa93b4ad76mtkleinopts("dsp") { 201349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein enabled = current_cpu == "mipsel" 202b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.mips_dsp_sources 203b6064ef5b822ebc14d62170bd4ffa2f7c9bfbe4dmtklein cflags = [] 204349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein} 205349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein 206c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 207457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 208457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 209457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 210cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 211cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 212cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 213457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 214457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 215cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 216cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 217cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 218cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 219cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 220cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 221457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 2229b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 223457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 224457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 225457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 226457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 227457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 228457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 229457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 230457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 2316ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 232457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 233cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 234457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 235cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 236cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 237cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 238cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 239457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 240eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 241eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 242457b42a6398020c3791f62f8c8637653e0d39bccmtklein 243a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 244a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 245a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 246a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 247a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 248a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 249a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 250a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 251a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 252a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 253a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 254a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 255a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 256a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 257d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 258d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 259d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 260d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 261d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 262d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 263d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 264d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 265d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 266d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 267d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 268d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 2693cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 2703cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 2713cc22180561ae17a64ff0e0f9ba173eac149009emtklein 2723cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 2733cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 2743cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 2753cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 2763cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 2771ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 2783cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 2793cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 2803cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 2813cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 2823cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 2833cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 2843cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 2853cc22180561ae17a64ff0e0f9ba173eac149009emtklein 286cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 287cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 288cdedd0e061f3f50cd217638c28b27d798d930896mtklein 289cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 290cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 291cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 292cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 293cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 294cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 295cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 296cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 297cdedd0e061f3f50cd217638c28b27d798d930896mtklein 298457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("gif") { 299457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_giflib 300457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_GIF_LIBRARY" ] 301457b42a6398020c3791f62f8c8637653e0d39bccmtklein 302457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 303457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/giflib", 304457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 305457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 306457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkGifCodec.cpp", 307457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 308457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 309457b42a6398020c3791f62f8c8637653e0d39bccmtklein 31006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 31106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 312e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 313e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 31406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 31506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 31606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 31706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 31806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 31906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 32006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 32106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 32206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 32306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 32406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 32506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 32606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 32706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 32806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 32906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 33006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 331e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein libs = [] 332e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 333e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 334e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 335e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 336e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein libs += [ "vulkan" ] 337e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 338e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 339e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 340e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 34106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 34206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 3436321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 3446321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 3456321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 3466321381d18f9d478598c0996c1380633003961ddmtklein 3476321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3486321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 3496321381d18f9d478598c0996c1380633003961ddmtklein ] 3506321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3516321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 3526321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 3536321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 3546321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 3556321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 3566321381d18f9d478598c0996c1380633003961ddmtklein ] 3576321381d18f9d478598c0996c1380633003961ddmtklein} 3586321381d18f9d478598c0996c1380633003961ddmtklein 3596321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 3606321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_zlib 3616321381d18f9d478598c0996c1380633003961ddmtklein 3626321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3636321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 3646321381d18f9d478598c0996c1380633003961ddmtklein ] 365b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 366cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 3676321381d18f9d478598c0996c1380633003961ddmtklein 3686321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 3696321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 370cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein public_defines = [ "SK_PDF_USE_SFNTLY" ] 3716321381d18f9d478598c0996c1380633003961ddmtklein } 3726321381d18f9d478598c0996c1380633003961ddmtklein} 3736321381d18f9d478598c0996c1380633003961ddmtklein 3746321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 3756321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 3766321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 3776321381d18f9d478598c0996c1380633003961ddmtklein 3786321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3796321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 3806321381d18f9d478598c0996c1380633003961ddmtklein ] 3816321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3826321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 3836321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 3846321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 3856321381d18f9d478598c0996c1380633003961ddmtklein ] 3866321381d18f9d478598c0996c1380633003961ddmtklein} 3876321381d18f9d478598c0996c1380633003961ddmtklein 3883cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 3893cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 3903cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3913cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3923cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3933cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3943cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3953cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 3963cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 3973cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3983cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3993cc22180561ae17a64ff0e0f9ba173eac149009emtklein 400457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 401457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 402457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 403457b42a6398020c3791f62f8c8637653e0d39bccmtklein 404457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 405457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 406457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 407457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 408457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 409457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 410457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 411457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 412457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 413eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 4146321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 4156321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 4166321381d18f9d478598c0996c1380633003961ddmtklein 4176321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4186321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 4196321381d18f9d478598c0996c1380633003961ddmtklein ] 4206321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4216321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 4226321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 4236321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 4246321381d18f9d478598c0996c1380633003961ddmtklein ] 4256321381d18f9d478598c0996c1380633003961ddmtklein} 4266321381d18f9d478598c0996c1380633003961ddmtklein 427c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 428c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 429c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 430c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 431c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 432b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 433b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 4349b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 435b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 436349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein ":dsp", 437a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 438d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 4393cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 440cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 441457b42a6398020c3791f62f8c8637653e0d39bccmtklein ":gif", 44206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 4436321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 4449b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 4456321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 4466321381d18f9d478598c0996c1380633003961ddmtklein ":png", 4479b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 4489b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 4499b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 4509b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 4513cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 452eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 4536321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 454c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 455c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 456c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 457b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 458b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 459b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 460b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 461c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 46225c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 46325c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 46425c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 4651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 4661211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 4671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 4681211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 4691211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 4701211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 4711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 4721211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 47325c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 4741211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 4751211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 4761211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 477c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 478c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder_Factory.cpp", 4792b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/images/SkKTXImageEncoder.cpp", 480c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 481c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 4821211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 483c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 484c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 485c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 486c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 48725c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 48825c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 489c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 490c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 491c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx/ktx.cpp", 492c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 493b944728b93a1623d73be31413a6798e0b7dddc16brettw 4947d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 4957d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 496c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 497c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 498c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 499c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 500c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 501c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw_factory.cpp", 502c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 503c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 504c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 505605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_win.cpp", 506c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 507c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 508c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 50925c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS.cpp", 510c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 511b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 512b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 513c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 514c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 515c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 516605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_posix.cpp", 517c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 51825c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS_None.cpp", 519c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 520c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 521c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 5227d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 5237d6fb2c92d096ac3630e23d561a4077a974a815cmtklein deps += [ 5247d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/cpu-features", 5257d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/expat", 5267d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 52706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 5287d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 5297d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 5307d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 5317d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 5327d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 5337d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 5347d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 535c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 53609e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 53709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 53809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 53909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 54009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 54106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 542c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 543c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 544c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 545c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 5467d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 547c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 548c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 549c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 550c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 55109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 55209e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 55309e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 55409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 555c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 5566fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 5576fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 55806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 5596fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 560c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 561c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 562ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtkleinskia_h_headers = exec_script("gyp/find.py", 563ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ "*.h" ] + rebase_path(skia_public_includes), 564ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein "list lines", 565ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein []) - 566ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ 567ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), 568ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkBackendContext.h"), 569ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkDefines.h"), 570ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkInterface.h"), 571ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkTypes.h"), 572ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/ports/SkFontMgr_fontconfig.h"), 573ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein ] 574ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein 5751211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") { 5761211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein script = "gn/echo_headers.py" 5771211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + 578c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path(skia_h_headers, target_gen_dir) 579bc34404dc3feb4dac854aa43825646dd01139ccbBen Wagner inputs = skia_h_headers 5801211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein outputs = [ 5811211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "$target_gen_dir/skia.h", 5821211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein ] 5831211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein} 5841211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 58506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinif (skia_enable_gpu && target_cpu == "x64") { 5861fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # Our bots only have 64-bit libOSMesa installed. 5871fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # TODO: worth fixing? 5881fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein executable("fiddle") { 5891fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein include_dirs = [ "$target_gen_dir" ] 5901fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs = [] 5911fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein if (is_linux) { 5921fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs += [ "OSMesa" ] 5931fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 59456d5669095feca663e9e05f4621146abeee626ecmtklein 5951fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein sources = [ 5961fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "src/images/SkForceLinking.cpp", 5971fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/draw.cpp", 5981fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/fiddle_main.cpp", 5991fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6001fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein deps = [ 6011fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia", 6021fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia.h", 6031fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6041fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 605c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 60625c81d4e651b43b8217c365c87d530036529a673mtklein 607c095df55e86e7126b0582856720bb9177b553ff1mtklein# Targets guarded by skia_enable_tools may use //third_party freely. 608c095df55e86e7126b0582856720bb9177b553ff1mtkleinif (skia_enable_tools) { 609c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 610c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 611c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 612a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 613a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 614a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 615c095df55e86e7126b0582856720bb9177b553ff1mtklein } 616c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 617c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 618c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 619c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 620c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 621c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 622c095df55e86e7126b0582856720bb9177b553ff1mtklein 623c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 624c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 625c095df55e86e7126b0582856720bb9177b553ff1mtklein } 626c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 627c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 628c095df55e86e7126b0582856720bb9177b553ff1mtklein } 62925c81d4e651b43b8217c365c87d530036529a673mtklein } 630c095df55e86e7126b0582856720bb9177b553ff1mtklein 631c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 63238925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 63338925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 63438925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 63538925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 636d68f9b00389bf676b171f250e684486cb2fbd404mtklein 637d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps = [] 63838925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 63938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 64038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 64138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 64238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 643605d95289379a07aad50b38ca6badbee45813d56mtklein "tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp", 64438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 64538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 64638925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 64738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 64838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 64938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 65038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 65138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 65238925aa37c17c0f54868852b8c3edf373400c742mtklein ] 65338925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 65438925aa37c17c0f54868852b8c3edf373400c742mtklein 65538925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 65638925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 65738925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 65838925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 65938925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 66038925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 66138925aa37c17c0f54868852b8c3edf373400c742mtklein } 6626ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein 663d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_angle) { 664d68f9b00389bf676b171f250e684486cb2fbd404mtklein public_defines += [ "SK_ANGLE" ] 665d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps += [ "//third_party/angle2" ] 666d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ] 66738925aa37c17c0f54868852b8c3edf373400c742mtklein } 66838925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 66938925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 67038925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 67138925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 67238925aa37c17c0f54868852b8c3edf373400c742mtklein } 673d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_vulkan) { 674d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 675d68f9b00389bf676b171f250e684486cb2fbd404mtklein } 676a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 67725c81d4e651b43b8217c365c87d530036529a673mtklein } 67825c81d4e651b43b8217c365c87d530036529a673mtklein 679c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 680c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 681c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 682c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 683046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 684046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 685046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 686046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 687046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 688c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 689c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 690c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 691c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 692046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 693c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 694c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 69525c81d4e651b43b8217c365c87d530036529a673mtklein } 69625c81d4e651b43b8217c365c87d530036529a673mtklein 697c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 698c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 699c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 700c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 701c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 702c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 703c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 704c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/images/SkForceLinking.cpp", 705c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 706b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 707c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 7080590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 709c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 710c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 711c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 712c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 713c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 714c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 715c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 716c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 717c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkOverdrawMode.cpp", 718c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 719c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 720c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 721c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 722c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 723c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 724c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 725046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 726c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 727c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 728c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 729c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 730c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 731c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 732c095df55e86e7126b0582856720bb9177b553ff1mtklein } 73325c81d4e651b43b8217c365c87d530036529a673mtklein 734c095df55e86e7126b0582856720bb9177b553ff1mtklein gm_sources = exec_script("gyp/find.py", 735c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 736c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 737c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("gm"), 738c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 739c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 740c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 741c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 742c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 743c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 744c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 745c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 746c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 747c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 748c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 749c095df55e86e7126b0582856720bb9177b553ff1mtklein } 75025c81d4e651b43b8217c365c87d530036529a673mtklein 751c095df55e86e7126b0582856720bb9177b553ff1mtklein tests_sources = exec_script("gyp/find.py", 752c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 753c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 754c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("tests"), 755c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 756c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 757c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 758c095df55e86e7126b0582856720bb9177b553ff1mtklein 759c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 760c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 761a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = tests_sources - [ 762a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main 763a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile 764a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/skia_test.cpp"), # alternate main 765a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 766a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 767a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources -= [ rebase_path("tests/FontMgrAndroidParserTest.cpp") ] 768a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 769c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 7706cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 771c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 772c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 773c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 774c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 775c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 776c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 777c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 778c095df55e86e7126b0582856720bb9177b553ff1mtklein } 7792f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 780c095df55e86e7126b0582856720bb9177b553ff1mtklein bench_sources = exec_script("gyp/find.py", 781c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 782c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 783c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench"), 784c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 785c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 786c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 787c095df55e86e7126b0582856720bb9177b553ff1mtklein 788c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 789c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 790c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 791c095df55e86e7126b0582856720bb9177b553ff1mtklein sources -= [ 792c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobench.cpp"), 793c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobenchAndroid.cpp"), 794c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 795c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 796c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 797c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 798c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 799c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 800c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 801c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 802c095df55e86e7126b0582856720bb9177b553ff1mtklein } 8032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 804c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 805c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 806c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 807c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 808c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 809c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 810c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 811c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 812c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 813c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 81428d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 815c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 816c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 817c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 818c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 819c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 820c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 821c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 82228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 823c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 824c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 825c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 826c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 827c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 828c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 829c095df55e86e7126b0582856720bb9177b553ff1mtklein } 830a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 8312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("dm") { 8322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8332b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 8342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 8352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 8362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 8382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 839046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 840a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 8412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 8432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 8442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8452f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 8462b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 8472b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 8482b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 8492b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8502b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8512b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 8522b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 853a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein if (!is_debug) { # I've benchmarked debug code once too many times... 854a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein executable("monobench") { 855a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein sources = [ 856a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein "tools/monobench.cpp", 857a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 858a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein deps = [ 859a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":bench", 860a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":skia", 861a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 862a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein testonly = true 863a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein } 8642b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 8652b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 8662b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("nanobench") { 8672b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8682b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 8692b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8702b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 8712b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 872046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 8736519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 8742b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8752b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 8762b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 8772b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 8782b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 8792b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 8802b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8812b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 8822b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 88319a9720978700a24efed8dda7e0935ea2b7338c4halcanary 88438925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 88538925aa37c17c0f54868852b8c3edf373400c742mtklein executable("skpbench") { 88638925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 88738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/skpbench/skpbench.cpp", 88838925aa37c17c0f54868852b8c3edf373400c742mtklein ] 88938925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 89038925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 89138925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 89238925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 89338925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 89438925aa37c17c0f54868852b8c3edf373400c742mtklein ] 89538925aa37c17c0f54868852b8c3edf373400c742mtklein testonly = true 89638925aa37c17c0f54868852b8c3edf373400c742mtklein } 8974b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 8984b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 8996f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein if (current_cpu != "mipsel") { # Clang 3.8 crashes while compiling hb-icu.cc for mipsel. 9003eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf-hb") { 9016f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 9026f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 9036f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 9046f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 9056f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 9066f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 9076f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 9086f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 9096f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein testonly = true 9106f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 91119a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 9123eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf") { 9133eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 9143eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 9153eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 9163eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 9173eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 9183eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 9193eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 9203eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary testonly = true 9213eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 922046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 923046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein executable("get_images_from_skps") { 924046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 925046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 926046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 927046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 928046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 929046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 930046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 931046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 932046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein testonly = true 933046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 934ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein 935ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein executable("skiaserve") { 936ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein sources = [ 937ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/Request.cpp", 938ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/Response.cpp", 939ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/skiaserve.cpp", 940ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BatchBoundsHandler.cpp", 941ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BatchesHandler.cpp", 942ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BreakHandler.cpp", 943ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ClipAlphaHandler.cpp", 944ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/CmdHandler.cpp", 945ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ColorModeHandler.cpp", 946ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/DataHandler.cpp", 947ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/DownloadHandler.cpp", 948ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/EnableGPUHandler.cpp", 949ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ImgHandler.cpp", 950ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/InfoHandler.cpp", 951ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/PostHandler.cpp", 952ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/QuitHandler.cpp", 953ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/RootHandler.cpp", 954ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ] 955ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein deps = [ 956ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":flags", 957ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":gpu_tool_utils", 958ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":skia", 959ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":tool_utils", 960ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/jsoncpp", 961ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/libmicrohttpd", 962ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/libpng", 963ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ] 964ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein testonly = true 965ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein } 96625c81d4e651b43b8217c365c87d530036529a673mtklein} 967