BUILD.gn revision 768bdfca71391016c92239831d66427d0f3b151d
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 22ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein skia_use_sfntly = !is_fuchsia && !is_win # TODO: icu on Windows, re-enable this. 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 30789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon skia_vulkan_sdk = "" 31c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 32c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 33789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomonskia_use_vulkan = skia_use_vulkan || skia_vulkan_sdk != "" 34789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon 3538925aa37c17c0f54868852b8c3edf373400c742mtklein# Our tools require static linking (they use non-exported symbols). 3638925aa37c17c0f54868852b8c3edf373400c742mtkleinskia_enable_tools = skia_enable_tools && !is_component_build 3706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 38a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 39a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 401211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 4125c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 42fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 431211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 441211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 451211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 461211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 471211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 481211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 491211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 501211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 511211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 5225c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 531211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 541211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 5525c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 561211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 58c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 59c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 601211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 61ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines = [] 62ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein if (is_component_build) { 63ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines += [ "SKIA_DLL" ] 64ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein } 65c4cbd74a38232a0e9f1cc1cc8fb826bb06c577a9Mike Klein if (is_fuchsia || is_linux) { 665561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 675561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 68cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 69cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein defines += skia_android_framework_defines 70cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 7106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 7206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 7306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 76c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 77c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 80c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 81c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 82c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 831211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 84c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/config", 85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 86c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 8725c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 8825c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 952b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 989e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 99c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 1007a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 101c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 102c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx", 103c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 104150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 1056321381d18f9d478598c0996c1380633003961ddmtklein defines = [ "SK_GAMMA_APPLY_TO_A8" ] 106b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 107b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 108b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 109b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 110b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 111b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 11288a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 11388a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 11488a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 11588a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 116789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon libs = [] 117789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon lib_dirs = [] 118789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_use_vulkan) { 119789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_vulkan_sdk != "") { 120789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon include_dirs += [ "$skia_vulkan_sdk/x86_64/include/" ] 121789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon lib_dirs += [ "$skia_vulkan_sdk/x86_64/lib/" ] 122789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 123789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon libs += [ "vulkan" ] 124789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 125c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 126c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 127c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 128c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 129c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 130c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 131c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 132c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 133c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 134c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 135c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 136c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 137c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 138c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1399b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1409b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1419b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1429b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1439b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1449b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1459b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1469b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1479b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1489b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1499b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1509b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1519b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1529b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1539b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1549b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1559b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1569b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 157a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 158a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 159422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 160c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1617d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1627d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 163b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 164b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 165b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 166b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1677d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 168b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 169b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 1707d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 171b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 172b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 173b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 174b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 175b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 176b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 177b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 178b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 179b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 180b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 181b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 182b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 183b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 184b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1859b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 1869b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 187b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 1883eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (!is_win) { 1893eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse2" ] 1903eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 1919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 1924e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 1939b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 1949b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 195b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 1963eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (!is_win) { 1973eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mssse3" ] 1983eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 1999b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2004e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2019b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 2029b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 203b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 2043eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (!is_win) { 2053eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.1" ] 2063eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2079b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 208c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 2099b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 2109b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 211b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 2123eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (!is_win) { 2133eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.2" ] 2143eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2159b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2169b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 2179b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 2189b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 219b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 2203eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 2213eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "/arch:AVX" ] 2223eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2233eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mavx" ] 2243eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 225c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 226c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 22778d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Kleinopts("hsw") { 22878d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein enabled = is_x86 22978d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein sources = skia_opts.hsw_sources 2303eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 2313eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "/arch:AVX2" ] 2323eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2333eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ 2343eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mavx2", 2353eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi", 2363eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi2", 2373eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mf16c", 2383eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mfma", 2393eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein ] 2403eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 24178d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein} 24278d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein 243349cecefe21e2b45acc201290cc4e4fa93b4ad76mtkleinopts("dsp") { 244349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein enabled = current_cpu == "mipsel" 245b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.mips_dsp_sources 246b6064ef5b822ebc14d62170bd4ffa2f7c9bfbe4dmtklein cflags = [] 247349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein} 248349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein 249c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 250457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 251457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 252457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 253cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 254cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 255cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 256457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 257457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 258cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 259cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 260cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 261cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 262cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 263cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 264457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 2659b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 266457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 267457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 268457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 269457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 270457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 271457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 272457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 273457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 2746ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 275457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 276cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 277457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 278cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 279cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 280cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 281cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 282457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 283eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 284eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 285457b42a6398020c3791f62f8c8637653e0d39bccmtklein 286a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 287a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 288a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 289a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 290a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 291a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 292a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 293a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 294a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 295a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 296a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 297a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 298a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 299a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 300d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 301d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 302d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 303d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 304d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 305d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 306d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 307d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 308d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 309d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 310d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 311d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 3123cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 3133cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 3143cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3153cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3163cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 3173cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3183cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3193cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3201ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 3213cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 3223cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 3233cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 3243cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 3253cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 3263cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3273cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3283cc22180561ae17a64ff0e0f9ba173eac149009emtklein 329cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 330cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 331cdedd0e061f3f50cd217638c28b27d798d930896mtklein 332cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 333cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 334cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 335cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 336cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 337cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 338cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 339cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 340cdedd0e061f3f50cd217638c28b27d798d930896mtklein 341457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("gif") { 342457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_giflib 343457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_GIF_LIBRARY" ] 344457b42a6398020c3791f62f8c8637653e0d39bccmtklein 345457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 346457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/giflib", 347457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 348457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 349457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkGifCodec.cpp", 350457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 351457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 352457b42a6398020c3791f62f8c8637653e0d39bccmtklein 35306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 35406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 355e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 356e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 35706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 35806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 35906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 36006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 36106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 36206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 36306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 36406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 36506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 36606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 36706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 36806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 36906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 37006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 37106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 37206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 37306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 374e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein libs = [] 375e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 376e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 377e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 378e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 379e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 380e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 381e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 382e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 38306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 38406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 3856321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 3866321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 3876321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 3886321381d18f9d478598c0996c1380633003961ddmtklein 3896321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 3906321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 3916321381d18f9d478598c0996c1380633003961ddmtklein ] 3926321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 3936321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 3946321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 3956321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 3966321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 3976321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 3986321381d18f9d478598c0996c1380633003961ddmtklein ] 3996321381d18f9d478598c0996c1380633003961ddmtklein} 4006321381d18f9d478598c0996c1380633003961ddmtklein 4016321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 4026321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_zlib 4036321381d18f9d478598c0996c1380633003961ddmtklein 4046321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4056321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 4066321381d18f9d478598c0996c1380633003961ddmtklein ] 407b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 408cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 4096321381d18f9d478598c0996c1380633003961ddmtklein 4106321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 4116321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 412cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein public_defines = [ "SK_PDF_USE_SFNTLY" ] 4136321381d18f9d478598c0996c1380633003961ddmtklein } 4146321381d18f9d478598c0996c1380633003961ddmtklein} 4156321381d18f9d478598c0996c1380633003961ddmtklein 4166321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 4176321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 4186321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 4196321381d18f9d478598c0996c1380633003961ddmtklein 4206321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4216321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 4226321381d18f9d478598c0996c1380633003961ddmtklein ] 4236321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4246321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 4256321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 4266321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 4276321381d18f9d478598c0996c1380633003961ddmtklein ] 4286321381d18f9d478598c0996c1380633003961ddmtklein} 4296321381d18f9d478598c0996c1380633003961ddmtklein 4303cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 4313cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 4323cc22180561ae17a64ff0e0f9ba173eac149009emtklein 4333cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 4343cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 4353cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 4363cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 4373cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 4383cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 4393cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 4403cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 4413cc22180561ae17a64ff0e0f9ba173eac149009emtklein 442457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 443457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 444457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 445457b42a6398020c3791f62f8c8637653e0d39bccmtklein 446457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 447457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 448457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 449457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 450457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 451457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 452457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 453457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 454457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 455eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 4566321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 4576321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 4586321381d18f9d478598c0996c1380633003961ddmtklein 4596321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4606321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 4616321381d18f9d478598c0996c1380633003961ddmtklein ] 4626321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4636321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 4646321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 4656321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 4666321381d18f9d478598c0996c1380633003961ddmtklein ] 4676321381d18f9d478598c0996c1380633003961ddmtklein} 4686321381d18f9d478598c0996c1380633003961ddmtklein 469c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 470c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 471c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 472c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 473c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 474b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 475b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 4769b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 477b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 478349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein ":dsp", 479a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 480d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 4813cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 482cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 483457b42a6398020c3791f62f8c8637653e0d39bccmtklein ":gif", 48406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 48578d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein ":hsw", 4866321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 4879b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 4886321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 4896321381d18f9d478598c0996c1380633003961ddmtklein ":png", 4909b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 4919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 4929b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 4939b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 4943cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 495eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 4966321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 497c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 498c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 499c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 500b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 501b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 502b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 503b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 504c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 50525c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 50625c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 50725c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 5081211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 5091211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 5101211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 5111211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 5121211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 5131211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 5141211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 5151211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 51625c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 5171211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 5181211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 5191211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 520c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 521c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder_Factory.cpp", 5222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/images/SkKTXImageEncoder.cpp", 523c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 524c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 5251211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 526c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 527c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 528c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 529c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 53025c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 53125c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 532c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 533c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 534c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx/ktx.cpp", 535c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 536b944728b93a1623d73be31413a6798e0b7dddc16brettw 5377d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 5387d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 539c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 540c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 541ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein "src/fonts/SkFontMgr_indirect.cpp", 542c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 543c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 544c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 545c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw_factory.cpp", 546c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 547c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 548c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 549605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_win.cpp", 550c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 551c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 552c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 55325c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS.cpp", 5544b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "src/xps/SkXPSDevice.cpp", 555c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 556b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 557b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 5584b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 5594b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "FontSub.lib", 5604b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Ole32.lib", 5614b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OleAut32.lib", 5624b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "User32.lib", 5634b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 564c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 565c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 566c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 567605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_posix.cpp", 568c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 56925c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS_None.cpp", 570c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 571c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 572c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 5737d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 5747d6fb2c92d096ac3630e23d561a4077a974a815cmtklein deps += [ 5757d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/cpu-features", 5767d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/expat", 5777d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 57806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 5797d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 5807d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 5817d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 5827d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 5837d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 5847d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 5857d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 586c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 58709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 58809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 58909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 59009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 59109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 59206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 593c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 594c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 595c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 596c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 5977d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 598c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 599c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 600c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 601c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 60209e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 60309e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 60409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 60509e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 606c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 6076fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 6086fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 60906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 6106fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 611c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 612c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 613ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtkleinskia_h_headers = exec_script("gyp/find.py", 614ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ "*.h" ] + rebase_path(skia_public_includes), 615ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein "list lines", 616ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein []) - 617ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ 618ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), 619ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkBackendContext.h"), 620ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkDefines.h"), 621ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkInterface.h"), 622ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkTypes.h"), 623ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/ports/SkFontMgr_fontconfig.h"), 624ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein ] 625ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein 6261211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") { 6271211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein script = "gn/echo_headers.py" 6281211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + 629c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path(skia_h_headers, target_gen_dir) 630bc34404dc3feb4dac854aa43825646dd01139ccbBen Wagner inputs = skia_h_headers 6311211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein outputs = [ 6321211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "$target_gen_dir/skia.h", 6331211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein ] 6341211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein} 6351211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 63606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinif (skia_enable_gpu && target_cpu == "x64") { 6371fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # Our bots only have 64-bit libOSMesa installed. 6381fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # TODO: worth fixing? 6391fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein executable("fiddle") { 6401fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein include_dirs = [ "$target_gen_dir" ] 6411fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs = [] 6421fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein if (is_linux) { 6431fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs += [ "OSMesa" ] 6441fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 64556d5669095feca663e9e05f4621146abeee626ecmtklein 6461fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein sources = [ 6471fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "src/images/SkForceLinking.cpp", 6481fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/draw.cpp", 6491fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/fiddle_main.cpp", 6501fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6511fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein deps = [ 6521fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia", 6531fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia.h", 6541fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6551fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 656c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 65725c81d4e651b43b8217c365c87d530036529a673mtklein 658c095df55e86e7126b0582856720bb9177b553ff1mtklein# Targets guarded by skia_enable_tools may use //third_party freely. 659c095df55e86e7126b0582856720bb9177b553ff1mtkleinif (skia_enable_tools) { 660c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 661c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 662c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 663a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 664a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 665a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 666c095df55e86e7126b0582856720bb9177b553ff1mtklein } 667c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 668c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 669c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 670c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 671c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 672c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 673c095df55e86e7126b0582856720bb9177b553ff1mtklein 674c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 675c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 676c095df55e86e7126b0582856720bb9177b553ff1mtklein } 677c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 678c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 679c095df55e86e7126b0582856720bb9177b553ff1mtklein } 68025c81d4e651b43b8217c365c87d530036529a673mtklein } 681c095df55e86e7126b0582856720bb9177b553ff1mtklein 682c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 68338925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 68438925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 68538925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 68638925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 687d68f9b00389bf676b171f250e684486cb2fbd404mtklein 688d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps = [] 68938925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 69038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 69138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 69238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 69338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 694605d95289379a07aad50b38ca6badbee45813d56mtklein "tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp", 69538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 69638925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 69738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 69838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 69938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 70038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 70138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 70238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 70338925aa37c17c0f54868852b8c3edf373400c742mtklein ] 70438925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 70538925aa37c17c0f54868852b8c3edf373400c742mtklein 70638925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 70738925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 70838925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 70938925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 71038925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 71138925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 7124b167fc8503d8b4887346c5054fc2cc93428846dMike Klein } else if (is_win) { 7134b167fc8503d8b4887346c5054fc2cc93428846dMike Klein sources += [ "tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp" ] 7144b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 7154b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Gdi32.lib", 7164b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OpenGL32.lib", 7174b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 71838925aa37c17c0f54868852b8c3edf373400c742mtklein } 7196ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein 720d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_angle) { 721d68f9b00389bf676b171f250e684486cb2fbd404mtklein public_defines += [ "SK_ANGLE" ] 722d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps += [ "//third_party/angle2" ] 723d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ] 72438925aa37c17c0f54868852b8c3edf373400c742mtklein } 72538925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 72638925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 72738925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 72838925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 72938925aa37c17c0f54868852b8c3edf373400c742mtklein } 730d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_vulkan) { 731d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 732d68f9b00389bf676b171f250e684486cb2fbd404mtklein } 733a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 73425c81d4e651b43b8217c365c87d530036529a673mtklein } 73525c81d4e651b43b8217c365c87d530036529a673mtklein 736c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 737c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 738c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 739c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 740046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 741046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 742046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 743046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 744046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 745c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 746c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 747c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 748c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 749046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 750c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 751c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 75225c81d4e651b43b8217c365c87d530036529a673mtklein } 75325c81d4e651b43b8217c365c87d530036529a673mtklein 754c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 755c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 756c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 757c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 758c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 759c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 760c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 761c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/images/SkForceLinking.cpp", 762c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 763b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 764c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 7650590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 766c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 767c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 768c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 769c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 770c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 771c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 772c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 773c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 774c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkOverdrawMode.cpp", 775c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 776c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 777c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 778c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 779c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 780c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 781c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 782046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 783c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 784c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 785c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 786c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 787c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 788c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 789c095df55e86e7126b0582856720bb9177b553ff1mtklein } 79025c81d4e651b43b8217c365c87d530036529a673mtklein 791c095df55e86e7126b0582856720bb9177b553ff1mtklein gm_sources = exec_script("gyp/find.py", 792c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 793c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 794c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("gm"), 795c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 796c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 797c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 798c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 799c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 800c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 801c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 802c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 803c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 804c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 805c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 806c095df55e86e7126b0582856720bb9177b553ff1mtklein } 80725c81d4e651b43b8217c365c87d530036529a673mtklein 808c095df55e86e7126b0582856720bb9177b553ff1mtklein tests_sources = exec_script("gyp/find.py", 809c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 810c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 811c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("tests"), 812c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 813c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 814c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 815c095df55e86e7126b0582856720bb9177b553ff1mtklein 816c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 817c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 818a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = tests_sources - [ 819a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main 820a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile 821a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/skia_test.cpp"), # alternate main 822a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 823a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 824a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources -= [ rebase_path("tests/FontMgrAndroidParserTest.cpp") ] 825a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 826c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 8276cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 828c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 829c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 830c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 831c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 832c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 833c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 834c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 835c095df55e86e7126b0582856720bb9177b553ff1mtklein } 8362f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 837c095df55e86e7126b0582856720bb9177b553ff1mtklein bench_sources = exec_script("gyp/find.py", 838c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 839c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 840c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench"), 841c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 842c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 843c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 844c095df55e86e7126b0582856720bb9177b553ff1mtklein 845c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 846c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 847c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 848c095df55e86e7126b0582856720bb9177b553ff1mtklein sources -= [ 849c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobench.cpp"), 850c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobenchAndroid.cpp"), 851c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 852c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 853c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 854c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 855c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 856c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 857c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 858c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 859c095df55e86e7126b0582856720bb9177b553ff1mtklein } 8602b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 861c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 862c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 863c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 864c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 865c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 866c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 867c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 868c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 869c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 870c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 87128d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 872c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 873c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 874c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 875c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 876c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 877c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 878c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 87928d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 880c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 881c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 882c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 883c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 884c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 885c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 886c095df55e86e7126b0582856720bb9177b553ff1mtklein } 887a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 8882b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("dm") { 8892b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 8902b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 8912b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 8922b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 8932b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 8942b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 8952b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 896046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 897a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 8982b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 8992b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 9002b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 9012b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 9022f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 9032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 9042b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 9052b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 9062b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 9072b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 9082b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 9092b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 910a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein if (!is_debug) { # I've benchmarked debug code once too many times... 911a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein executable("monobench") { 912a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein sources = [ 913a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein "tools/monobench.cpp", 914a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 915a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein deps = [ 916a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":bench", 917a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":skia", 918a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 919a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein testonly = true 920a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein } 9212b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 9222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 9232b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("nanobench") { 9242b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 9252b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 9262b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 9272b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 9282b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 929046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 9306519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 9312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 9322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 9332b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 9342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 9352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 9362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 9372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 9382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 9392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 94019a9720978700a24efed8dda7e0935ea2b7338c4halcanary 94138925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 94238925aa37c17c0f54868852b8c3edf373400c742mtklein executable("skpbench") { 94338925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 94438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/skpbench/skpbench.cpp", 94538925aa37c17c0f54868852b8c3edf373400c742mtklein ] 94638925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 94738925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 94838925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 94938925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 95038925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 95138925aa37c17c0f54868852b8c3edf373400c742mtklein ] 95238925aa37c17c0f54868852b8c3edf373400c742mtklein testonly = true 95338925aa37c17c0f54868852b8c3edf373400c742mtklein } 9544b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 9554b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 9564b167fc8503d8b4887346c5054fc2cc93428846dMike Klein # We can't yet build ICU on Windows. 957768bdfca71391016c92239831d66427d0f3b151dMike Klein if (!is_win) { 9583eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf-hb") { 9596f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 9606f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 9616f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 9626f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 9636f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 9646f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 9656f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 9666f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 9676f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein testonly = true 9686f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 96919a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 9703eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf") { 9713eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 9723eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 9733eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 9743eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 9753eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 9763eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 9773eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 9783eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary testonly = true 9793eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 980046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 981046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein executable("get_images_from_skps") { 982046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 983046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 984046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 985046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 986046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 987046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 988046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 989046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 990046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein testonly = true 991046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 992ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein 993ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein executable("skiaserve") { 994ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein sources = [ 995ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/Request.cpp", 996ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/Response.cpp", 997ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/skiaserve.cpp", 998ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BatchBoundsHandler.cpp", 999ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BatchesHandler.cpp", 1000ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BreakHandler.cpp", 1001ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ClipAlphaHandler.cpp", 1002ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/CmdHandler.cpp", 1003ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ColorModeHandler.cpp", 1004ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/DataHandler.cpp", 1005ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/DownloadHandler.cpp", 1006ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/EnableGPUHandler.cpp", 1007ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ImgHandler.cpp", 1008ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/InfoHandler.cpp", 1009ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/PostHandler.cpp", 1010ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/QuitHandler.cpp", 1011ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/RootHandler.cpp", 1012ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ] 1013ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein deps = [ 1014ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":flags", 1015ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":gpu_tool_utils", 1016ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":skia", 1017ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":tool_utils", 1018ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/jsoncpp", 1019ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/libmicrohttpd", 1020ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/libpng", 1021ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ] 1022ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein testonly = true 1023ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein } 102414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick 102514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick executable("fuzz") { 102614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick sources = [ 102714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FilterFuzz.cpp", 102814f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzGradients.cpp", 102914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzParsePath.cpp", 103014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzPathop.cpp", 103114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzScaleToSides.cpp", 103214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/fuzz.cpp", 103314f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 103414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick deps = [ 103514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":flags", 103614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":skia", 103714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 103814f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick testonly = true 103914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick } 10403831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein 10413831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein executable("dump_record") { 10423831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein sources = [ 10433831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/DumpRecord.cpp", 10443831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/dump_record.cpp", 10453831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 10463831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein deps = [ 10473831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":flags", 10483831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":skia", 10493831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 10503831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein testonly = true 10513831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein } 105225c81d4e651b43b8217c365c87d530036529a673mtklein} 1053