BUILD.gn revision 621ea115e0b14467ae8f410ed6ad7a31bbe224e2
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 6cfc4f44aebdd560c600991ad900a4f07c3958c8fMike Kleinimport("gn/android_framework_defines.gni") 78c24f4fae3389b9937eb73128e76226cffebdd72mikejurkaimport("gn/shared_sources.gni") 8b944728b93a1623d73be31413a6798e0b7dddc16brettw 93e8012e74f70bf49427a7422f9e5996c9882d4f3mtkleinif (!defined(is_skia_standalone)) { 103e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein is_skia_standalone = false 113e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein} 123e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein 13c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() { 14c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein skia_use_angle = false 156321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 163cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 17cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 1869f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein skia_use_gdi = false 197d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein skia_use_icu = !is_fuchsia && !is_ios && !is_win # TODO: Windows 206321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 216321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 22eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 2338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein skia_use_lua = false 24a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 2510d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein skia_use_piex = !is_win 266321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 271bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 287d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein skia_android_serial = "" 291bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 303f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman skia_enable_discrete_gpu = true 3106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 3243fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary skia_enable_pdf = true 3313ccda4847c1ec43c0015e090924cc9c3127feb9Mike Klein skia_enable_splicer = 34c7adce1193a005a71aa4f181dc098f75c24910d4Mike Klein is_skia_standalone && sanitize != "MSAN" && 3509326e7a92c7db55665e2ee2d5ac7cb1ce258fffMike Klein (is_linux || is_mac || is_win || (is_android && target_cpu == "arm64")) 363e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_tools = is_skia_standalone 373e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_vulkan_debug_layers = is_skia_standalone && is_debug 38686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel skia_vulkan_sdk = getenv("VULKAN_SDK") 39c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 4023d73ea5b45cef6cf66ebe912725c4dd947c4767Brian Salomondeclare_args() { 4114b748ddd2a8f0eba9a1b3061980d1174dfc279dJames Robinson skia_use_dng_sdk = 4214b748ddd2a8f0eba9a1b3061980d1174dfc279dJames Robinson !is_fuchsia && !is_win && skia_use_libjpeg_turbo && skia_use_zlib 4310d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein skia_use_sfntly = skia_use_icu 4410d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein 454d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein if (is_android) { 464d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein skia_use_vulkan = defined(ndk_api) && ndk_api >= 24 474d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein } else { 484d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein skia_use_vulkan = skia_vulkan_sdk != "" 494d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein } 5023d73ea5b45cef6cf66ebe912725c4dd947c4767Brian Salomon} 51789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon 5238925aa37c17c0f54868852b8c3edf373400c742mtklein# Our tools require static linking (they use non-exported symbols). 5338925aa37c17c0f54868852b8c3edf373400c742mtkleinskia_enable_tools = skia_enable_tools && !is_component_build 5406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 55a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 56a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 5825c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 59fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 601211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 611211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 621211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 631211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 661211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 681211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 6925c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 701211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 7225c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 731211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 741211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 76c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 771211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 78ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines = [] 79ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein if (is_component_build) { 80ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines += [ "SKIA_DLL" ] 81ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein } 82c4cbd74a38232a0e9f1cc1cc8fb826bb06c577a9Mike Klein if (is_fuchsia || is_linux) { 835561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 845561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 85cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 86cfc4f44aebdd560c600991ad900a4f07c3958c8fMike Klein defines += android_framework_defines 87cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 8806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 8906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 9006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 98c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 99c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 1001211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 101c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 102c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 10325c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 10425c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 105c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 106c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 107c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 108c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 109c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 1112b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 113c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 1149e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 1167a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 11819b91531e912283d237435d94516575b28713cbascroggo "third_party/gif", 119427da6fcbbc6a161e0ca48c83f34295ec1147073Leon Scroggins "third_party/ktx", 120c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 121150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 122b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth defines = [ 123b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "SK_GAMMA_APPLY_TO_A8", 124b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "SK_INTERNAL", 125b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ] 126b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 127b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 128b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 129b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 130b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 131b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 13288a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 13388a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 13488a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 13588a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 136789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon libs = [] 137789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon lib_dirs = [] 138789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_use_vulkan) { 139ab563d471960b0bd5d3ed22dd604bc92521ffe01Greg Daniel if (skia_vulkan_sdk != "" && !is_android) { 140487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 141487bfc26f93821548b4f02269aacc4843b259a23Mike Klein include_dirs += [ "$skia_vulkan_sdk/Include/" ] 142487bfc26f93821548b4f02269aacc4843b259a23Mike Klein lib_dirs += [ "$skia_vulkan_sdk/Bin" ] 143487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } else { 144686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel include_dirs += [ "$skia_vulkan_sdk/include/" ] 145686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel lib_dirs += [ "$skia_vulkan_sdk/lib/" ] 146487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } 147487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } 148487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 149487bfc26f93821548b4f02269aacc4843b259a23Mike Klein libs += [ "vulkan-1.lib" ] 150487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } else { 151487bfc26f93821548b4f02269aacc4843b259a23Mike Klein libs += [ "vulkan" ] 152789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 153789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 15434755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman if (skia_use_angle) { 15534755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman defines += [ "SK_ANGLE" ] 15634755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman } 1573f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman if (skia_enable_discrete_gpu) { 1583f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman defines += [ "SK_ENABLE_DISCRETE_GPU" ] 1593f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman } 160c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 161c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 162c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 163c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 164c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 165c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 166c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 167c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 168c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 169c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 170c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 171c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 172c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 173c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1749b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1759b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1769b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1779b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1789b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1799b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1809b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1819b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1829b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1839b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1849b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1859b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1869b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1879b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1889b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1899b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1909b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 192a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 193a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 194422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 195c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1967d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1977d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 198b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 199b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 200b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 201b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 2027d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 203b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 204b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 2057d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 206b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 207b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 208b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 209b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 210b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 211b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 212b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 213b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 214b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 215b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 216b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 217b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 218b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 219b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 2209b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 2219b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 222b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 223d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 224d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2" ] 225d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2263eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse2" ] 2273eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2289b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2294e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2309b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 2319b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 232b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 233d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 234d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSSE3" ] 235d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2363eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mssse3" ] 2373eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2389b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2394e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2409b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 2419b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 242b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 243d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 244d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE41" ] 245d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2463eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.1" ] 2473eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2489b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 249c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 2509b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 2519b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 252b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 253d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 254d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE42" ] 255d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2563eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.2" ] 2573eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2589b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2599b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 2609b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 2619b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 262b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 2633eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 26417b6e487b71b7ed541d3239f194e121fbe8efd1dMike Klein cflags = [ "/arch:AVX" ] 2653eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2663eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mavx" ] 2673eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 268c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 269c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 27078d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Kleinopts("hsw") { 27178d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein enabled = is_x86 27278d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein sources = skia_opts.hsw_sources 2733eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 27417b6e487b71b7ed541d3239f194e121fbe8efd1dMike Klein cflags = [ "/arch:AVX2" ] 2753eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2763eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ 2773eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mavx2", 2783eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi", 2793eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi2", 2803eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mf16c", 2813eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mfma", 2823eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein ] 2833eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 28478d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein} 28578d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein 286c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 287457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 288457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 289457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 290cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 291cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 292cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 293457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 294457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 295cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 296cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 297cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 298cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 299cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 300f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "configs_to_remove", 301cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 302457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 3039b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 304f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo if (defined(invoker.configs_to_remove)) { 305f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo configs -= invoker.configs_to_remove 306f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo } 307457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 308457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 309457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 310457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 311457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 312457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 313457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 314457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 3156ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 316457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 317cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 318f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "configs_to_remove", 319457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 320cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 321cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 322cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 323cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 324457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 325eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 326eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 327457b42a6398020c3791f62f8c8637653e0d39bccmtklein 328a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 329a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 330a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 331a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 332a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 333a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 334a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 335a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 336a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 337a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 338a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 339a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 340a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 341a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 342d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 343d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 344d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 345d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 346d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 347d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 348d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 349d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 350d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 351d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 352d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 353d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 3543cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 3553cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 3563cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3573cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3583cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 3593cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3603cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3613cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3621ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 3633cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 3643cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 3653cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 3663cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 3673cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 3683cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3693cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3703cc22180561ae17a64ff0e0f9ba173eac149009emtklein 371cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 372cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 373cdedd0e061f3f50cd217638c28b27d798d930896mtklein 374cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 375cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 376cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 377cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 378cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 379cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 380cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 381cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 382cdedd0e061f3f50cd217638c28b27d798d930896mtklein 38306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 38406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 385e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 386e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 38706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 38806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 38906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 39006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 39106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 39206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 39306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 39406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 395703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs = [] 39606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 39706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 39806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 39906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 40006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 40106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 402130a118cc68f8f9973e9572356011de378463feaChinmay Garde } else if (is_ios) { 403130a118cc68f8f9973e9572356011de378463feaChinmay Garde sources += [ "src/gpu/gl/iOS/GrGLCreateNativeInterface_iOS.cpp" ] 404703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein } else if (is_win) { 405703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein sources += [ "src/gpu/gl/win/GrGLCreateNativeInterface_win.cpp" ] 406703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs += [ "OpenGL32.lib" ] 40706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 40806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 40906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 410e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 411e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 412e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 413e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 414e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 415e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 416e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 417e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 41806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 41906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 4206321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 4216321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 4226321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 4236321381d18f9d478598c0996c1380633003961ddmtklein 4246321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4256321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 4266321381d18f9d478598c0996c1380633003961ddmtklein ] 4276321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4286321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 4296321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 4306321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 4316321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 4326321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 4336321381d18f9d478598c0996c1380633003961ddmtklein ] 4346321381d18f9d478598c0996c1380633003961ddmtklein} 4356321381d18f9d478598c0996c1380633003961ddmtklein 4366321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 43743fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary enabled = skia_use_zlib && skia_enable_pdf 43843fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary public_defines = [ "SK_SUPPORT_PDF" ] 4396321381d18f9d478598c0996c1380633003961ddmtklein 4406321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4416321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 4426321381d18f9d478598c0996c1380633003961ddmtklein ] 443b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 444cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 4456321381d18f9d478598c0996c1380633003961ddmtklein 4466321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 4476321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 44843fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary public_defines += [ "SK_PDF_USE_SFNTLY" ] 4496321381d18f9d478598c0996c1380633003961ddmtklein } 4506321381d18f9d478598c0996c1380633003961ddmtklein} 4516321381d18f9d478598c0996c1380633003961ddmtklein 4526321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 4536321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 4546321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 4556321381d18f9d478598c0996c1380633003961ddmtklein 4566321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4576321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 4586321381d18f9d478598c0996c1380633003961ddmtklein ] 4596321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4606321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 4616321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 4626321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 4636321381d18f9d478598c0996c1380633003961ddmtklein ] 4646321381d18f9d478598c0996c1380633003961ddmtklein} 4656321381d18f9d478598c0996c1380633003961ddmtklein 466f84ad646f94ee959eb17d05f072935edd1ad14fdscroggooptional("raw") { 46710d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein enabled = skia_use_dng_sdk && skia_use_libjpeg_turbo && skia_use_piex 468f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo public_defines = [ "SK_CODEC_DECODES_RAW" ] 469f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 470f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo deps = [ 471f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/dng_sdk", 472f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/libjpeg-turbo:libjpeg", 473f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/piex", 474f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ] 475f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 476f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo # SkRawCodec catches any exceptions thrown by dng_sdk, insulating the rest of 477f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo # Skia. 478f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo configs_to_remove = [ "//gn:no_exceptions" ] 479f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 480f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo sources = [ 481f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "src/codec/SkRawAdapterCodec.cpp", 482f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "src/codec/SkRawCodec.cpp", 483f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ] 484f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo} 485f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 486a7080264d11235d6f469d355b14a7647cba8eb75Mike Kleinoptional("splicer") { 487a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein enabled = skia_enable_splicer 488a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein public_defines = [ "SK_RASTER_PIPELINE_HAS_JIT" ] 489a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein 490a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein sources = [ 491a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein "src/splicer/SkSplicer.cpp", 492a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein ] 493a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein} 494a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein 4953cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 4963cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 4973cc22180561ae17a64ff0e0f9ba173eac149009emtklein 4983cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 4993cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 5003cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 5013cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 5023cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 5033cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 5043cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 5053cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 5063cc22180561ae17a64ff0e0f9ba173eac149009emtklein 507457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 508457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 509457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 510457b42a6398020c3791f62f8c8637653e0d39bccmtklein 511457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 512457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 513457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 514457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 515457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 516457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 517457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 518457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 519457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 520eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 5216321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 5226321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 523442fff958c911bbc354a56003e3a8d75805c45f6Florin Malita public_defines = [ "SK_XML" ] 5246321381d18f9d478598c0996c1380633003961ddmtklein 5256321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 5266321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 5276321381d18f9d478598c0996c1380633003961ddmtklein ] 5286321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 5296321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 5306321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 5316321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 5326321381d18f9d478598c0996c1380633003961ddmtklein ] 5336321381d18f9d478598c0996c1380633003961ddmtklein} 5346321381d18f9d478598c0996c1380633003961ddmtklein 535c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 536c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 537c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 538c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 539c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 540b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 541b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 5429b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 543b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 544a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 545d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 5463cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 547cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 54806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 54978d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein ":hsw", 5506321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 5519b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 5526321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 5536321381d18f9d478598c0996c1380633003961ddmtklein ":png", 554f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ":raw", 555a7080264d11235d6f469d355b14a7647cba8eb75Mike Klein ":splicer", 5569b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 5579b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 5589b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 5599b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 5603cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 561eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 5626321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 563c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 564c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 56543f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # This file (and all GN files in Skia) are designed to work with an 56643f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # empty sources assignment filter; we handle all that explicitly. 56743f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # We clear the filter here for clients who may have set up a global filter. 56843f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde set_sources_assignment_filter([]) 56943f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde 570c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 571b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 572b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 573b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 574b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 5756ad3d2fa38589fafd8b1c203996a402bd8b24362Hal Canary sources += skia_xps_sources 576c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 57725c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 57825c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 57925c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 5801211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 5811211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 5821211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 5831211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 5841211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 5851211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 58619b91531e912283d237435d94516575b28713cbascroggo "src/codec/SkGifCodec.cpp", 5871211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 5881211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 58925c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 5901211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 59119b91531e912283d237435d94516575b28713cbascroggo "src/codec/SkStreamBuffer.cpp", 5921211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 5931211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 594c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 595c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 596c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 5971211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 598c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 599c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 600c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 601c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 60225c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 60325c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 604c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 605c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 6063d3a65c488162ef1db0b35adf3235d012b04c88dscroggo "third_party/gif/SkGifImageReader.cpp", 607427da6fcbbc6a161e0ca48c83f34295ec1147073Leon Scroggins "third_party/ktx/ktx.cpp", 608c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 609b944728b93a1623d73be31413a6798e0b7dddc16brettw 6107d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 6117d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 612c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 613c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 614ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein "src/fonts/SkFontMgr_indirect.cpp", 615c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 616c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 617c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 618c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 619c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 620c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 621605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_win.cpp", 622c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 623c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 624c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 625c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 62669f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein if (skia_use_gdi) { 62769f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_gdi_factory.cpp" ] 62869f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein libs += [ 62969f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Gdi32.lib", 63069f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Usp10.lib", 63169f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein ] 63269f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } else { 63369f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_dw_factory.cpp" ] 63469f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } 635b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 636b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 6374b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 6384b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "FontSub.lib", 6394b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Ole32.lib", 6404b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OleAut32.lib", 6414b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "User32.lib", 6424b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 643c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 644c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 645c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 646605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_posix.cpp", 647c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 648c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 649c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 650c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 6517d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 652c30833327f0dda75a8fbe061f3f1966d1f6621a3Mike Klein deps += [ "//third_party/expat" ] 65306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 6547d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 6557d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 6567d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 6577d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 6587d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 6597d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 6607d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 661c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 66209e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 66309e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 66409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 66509e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 66609e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 66706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 668c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 669c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 670c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 671c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 6727d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 673c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 674c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 675c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 676c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 67709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 67809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 67909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 68009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 681c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 6826fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 6837d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (is_ios) { 6847d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources += [ 6857d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkDebug_stdio.cpp", 6867d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkFontHost_mac.cpp", 6877d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkImageEncoder_CG.cpp", 6887d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkImageGeneratorCG.cpp", 6897d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 6907d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein libs += [ 6917d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreFoundation.framework", 6927d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreGraphics.framework", 6937d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreText.framework", 6947d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "ImageIO.framework", 6957d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "MobileCoreServices.framework", 6967d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 6977d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } 6987d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein 6996fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 70006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 7016fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 702c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 703c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 704c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein# Targets guarded by skia_enable_tools may use //third_party freely. 705c36dedf613b09cc5e2286b2f0602c73722c85958Mike Kleinif (skia_enable_tools) { 706308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein # Used by gn_to_bp.py to list our public include dirs. 707308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein source_set("public") { 708308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein configs += [ ":skia_public" ] 709308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein } 710308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein 711c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein config("skia.h_config") { 712c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein include_dirs = [ "$target_gen_dir" ] 713c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 714c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein action("skia.h") { 715c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein public_configs = [ ":skia.h_config" ] 716c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein skia_h = "$target_gen_dir/skia.h" 717c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein script = "gn/find_headers.py" 718c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein args = [ rebase_path(skia_h, root_build_dir) ] + 719c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein rebase_path(skia_public_includes) 720c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein depfile = "$skia_h.deps" 721c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein outputs = [ 722c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein skia_h, 723c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 724c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 7251211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 726c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (skia_enable_gpu && target_cpu == "x64") { 727c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein # Our bots only have 64-bit libOSMesa installed. 728c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein # TODO: worth fixing? 729c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein executable("fiddle") { 730c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein libs = [] 731c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (is_linux) { 732c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein libs += [ "OSMesa" ] 733c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 73456d5669095feca663e9e05f4621146abeee626ecmtklein 735c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein sources = [ 736c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/fiddle/draw.cpp", 737c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/fiddle/fiddle_main.cpp", 738c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 739c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein deps = [ 740c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia", 741c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia.h", 742c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 743c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 7441fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 74525c81d4e651b43b8217c365c87d530036529a673mtklein 746c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (skia_enable_gpu) { 747c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein source_set("public_headers_warnings_check") { 748c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein sources = [ 749c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/public_headers_warnings_check.cpp", 750c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 751c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein configs -= [ "//gn:warnings_except_public_headers" ] 752c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein deps = [ 753c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia", 754c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia.h", 755c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 756c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 75750500ad470af3d82c68144fec7e55c9cdffb5d98Mike Klein } 75850500ad470af3d82c68144fec7e55c9cdffb5d98Mike Klein 759c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 760c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 761c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 762a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 763a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 764a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 765c095df55e86e7126b0582856720bb9177b553ff1mtklein } 766c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 767c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 768c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 769c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 770c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 771c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 772c095df55e86e7126b0582856720bb9177b553ff1mtklein 773c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 774c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 775c095df55e86e7126b0582856720bb9177b553ff1mtklein } 776c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 777c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 778c095df55e86e7126b0582856720bb9177b553ff1mtklein } 77925c81d4e651b43b8217c365c87d530036529a673mtklein } 780c095df55e86e7126b0582856720bb9177b553ff1mtklein 781e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein template("test_app") { 782e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein if (defined(invoker.is_shared_library) && invoker.is_shared_library) { 783e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein shared_library("lib" + target_name) { 784e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein forward_variables_from(invoker, "*", [ "is_shared_library" ]) 785e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein testonly = true 786e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 787e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } else { 7887d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein _executable = target_name 7897d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein executable(_executable) { 790e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein forward_variables_from(invoker, "*", [ "is_shared_library" ]) 791e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein testonly = true 792e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 793e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 7947d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein if (is_android && skia_android_serial != "" && defined(_executable)) { 7957d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein action("push_" + target_name) { 7967d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein script = "gn/push_to_android.py" 7977d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein deps = [ 7987d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ":" + _executable, 7997d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ] 8007d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein _stamp = "$target_gen_dir/$_executable.pushed_$skia_android_serial" 8017d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein outputs = [ 8027d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein _stamp, 8037d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ] 8047d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein args = [ 8057d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein rebase_path("$root_build_dir/$_executable"), 8067d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein skia_android_serial, 8077d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein rebase_path(_stamp), 8087d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ] 8097d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein testonly = true 8107d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein } 8117d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein } 812e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 813e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein 814c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 81538925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 81638925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 81738925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 81838925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 819d68f9b00389bf676b171f250e684486cb2fbd404mtklein 820d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps = [] 82138925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 82238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 82338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 82438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 82538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 826605d95289379a07aad50b38ca6badbee45813d56mtklein "tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp", 82738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 82838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 82938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 83038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 83138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 83238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 83338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 83438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 83538925aa37c17c0f54868852b8c3edf373400c742mtklein ] 83638925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 83738925aa37c17c0f54868852b8c3edf373400c742mtklein 83838925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 83938925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 8407d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } else if (is_ios) { 8417d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources += [ "tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm" ] 8427d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein libs += [ "OpenGLES.framework" ] 84338925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 84438925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 84538925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 84638925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 8474b167fc8503d8b4887346c5054fc2cc93428846dMike Klein } else if (is_win) { 8484b167fc8503d8b4887346c5054fc2cc93428846dMike Klein sources += [ "tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp" ] 8494b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 8504b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Gdi32.lib", 8514b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OpenGL32.lib", 8524b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 85338925aa37c17c0f54868852b8c3edf373400c742mtklein } 854238b820369c4b556c2e7c8277855e6950de3d9ebBrian Salomon 855c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein if (skia_use_angle) { 856c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein deps += [ "//third_party/angle2" ] 857c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ] 858c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein } 85938925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 86038925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 86138925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 86238925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 86338925aa37c17c0f54868852b8c3edf373400c742mtklein } 864d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_vulkan) { 865d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 866d68f9b00389bf676b171f250e684486cb2fbd404mtklein } 867a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 86825c81d4e651b43b8217c365c87d530036529a673mtklein } 86925c81d4e651b43b8217c365c87d530036529a673mtklein 870c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 871c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 872c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 873c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 874046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 875046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 876046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 877046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 878046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 879c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 880c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 881c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 882c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 883046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 884c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 885c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 88625c81d4e651b43b8217c365c87d530036529a673mtklein } 88725c81d4e651b43b8217c365c87d530036529a673mtklein 888c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 889c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 890c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 891c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 892c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 893c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 894c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 895c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 896b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 897c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 8980590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 899c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 900c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 901c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 902c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 903c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 904c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 905c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 906c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 907c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 908c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 909c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 910c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 911c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 912c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 913c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 914046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 915c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 916c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 917c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 918c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 919c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 920c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 921c095df55e86e7126b0582856720bb9177b553ff1mtklein } 92225c81d4e651b43b8217c365c87d530036529a673mtklein 9236e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/gm.gni") 924c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 925c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 926c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 927c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 92819b91531e912283d237435d94516575b28713cbascroggo ":flags", 929c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 930c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 931c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 932c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 933c095df55e86e7126b0582856720bb9177b553ff1mtklein } 93425c81d4e651b43b8217c365c87d530036529a673mtklein 9356e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/tests.gni") 936c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 937c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 9386e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = tests_sources + pathops_tests_sources 939a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 9406e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources -= [ "//tests/FontMgrAndroidParserTest.cpp" ] 941a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 942c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 9436cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 944c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 945c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 946c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 947c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 948c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 949c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 950c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 951c095df55e86e7126b0582856720bb9177b553ff1mtklein } 9522f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 9536e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/bench.gni") 954c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 955c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 956c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 957c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 958c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 959c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 960c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 961c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 962c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 963c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 964c095df55e86e7126b0582856720bb9177b553ff1mtklein } 9652b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 966c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 967c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 968c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 969c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 970c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 971c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 972ce8840e3842f3a702c5d7bf440ff730bdfaf8e70Florin Malita "experimental/svg/model/SkSVGClipPath.cpp", 973c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 974c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 975c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 976c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 97728d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 978c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 979c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 980c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 981c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 982c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 983c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 984c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 98528d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 986c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 987c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 988c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 989c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 990c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 991c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 992c095df55e86e7126b0582856720bb9177b553ff1mtklein } 993a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 99416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("views") { 99516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "include/views" ] 99616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 99716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEvent.cpp", 99816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEventSink.cpp", 99916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkOSMenu.cpp", 100016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTagList.cpp", 100116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTouchGesture.cpp", 100216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkView.cpp", 100316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkViewPriv.cpp", 100416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 100516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs = [] 100634755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman deps = [] 100716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (!is_android) { 100816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/SkWindow.cpp" ] 100916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 10104e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_linux) { 10112dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman public_include_dirs += [ "src/views/unix" ] 10122dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 10132dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/SkOSWindow_Unix.cpp", 10142dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/keysym2ucs.c", 10152dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 101616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_mac) { 101716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 101816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkEventNotifier.mm", 101916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkNSView.mm", 102016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkOSWindow_Mac.mm", 102116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkTextFieldCell.m", 102216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 102316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs += [ 102416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "QuartzCore.framework", 102516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Cocoa.framework", 102616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Foundation.framework", 102716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 102816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_win) { 102916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/win/SkOSWindow_win.cpp" ] 103016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 103134755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman if (skia_use_angle) { 103234755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman deps += [ "//third_party/angle2" ] 103334755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman } 103416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 103516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 103638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein if (skia_use_lua) { 103738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein test_lib("lua") { 103838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein public_include_dirs = [] 103938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 104038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "src/utils/SkLua.cpp", 104138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "src/utils/SkLuaCanvas.cpp", 104238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 104338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 104438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 104538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 104638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 104738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 1048e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("lua_app") { 104938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 105038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "tools/lua/lua_app.cpp", 105138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 105238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 105338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 105438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":skia", 105538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 105638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 105738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 105838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 1059e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("lua_pictures") { 106038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 106138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "tools/lua/lua_pictures.cpp", 106238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 106338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 106438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":flags", 106538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 106638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":skia", 106738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":tool_utils", 106838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 106938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 107038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 107138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 107238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 10736e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/samples.gni") 107416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("samples") { 107516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "samplecode" ] 10766e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein include_dirs = [ "experimental" ] 10776e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = samples_sources + [ 10786e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp", 10796e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3.cpp", 10806e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3_A.cpp", 10816e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3_D.cpp", 10826e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein ] 108316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 108416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":experimental_svg_model", 10856e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein ":gm", 108616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 108716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 108816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":xml", 108916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 109038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 109138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein if (skia_use_lua) { 109238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources += [ "samplecode/SampleLua.cpp" ] 109338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps += [ 109438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 109538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 109638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 109738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 109816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 109916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 1100e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("dm") { 11012b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 11022b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 11032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 11042b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 11052b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11062b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 11072b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 1108046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 1109a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 11102b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 11112b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 11122b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 11132b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 11142f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 11152b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 11162b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 11172b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 11182b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11192b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 11202b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 1121a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein if (!is_debug) { # I've benchmarked debug code once too many times... 1122e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("monobench") { 1123a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein sources = [ 1124a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein "tools/monobench.cpp", 1125a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1126a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein deps = [ 1127a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":bench", 1128a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":skia", 1129a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1130a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein } 11312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 11322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 1133e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("nanobench") { 11342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 11352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 11362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 11382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 1139046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 11406519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 11412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 11422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 11432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 11442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 11452b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 11462b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 11472b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11482b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 114919a9720978700a24efed8dda7e0935ea2b7338c4halcanary 115057a98fc4d595875ca75f906acec8ba508dcb5248Jim Van Verth if (is_linux || is_win || is_mac) { 1151e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("SampleApp") { 115238925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 1153b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "samplecode/SampleApp.cpp", 1154b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "samplecode/SamplePictFile.cpp", 115538925aa37c17c0f54868852b8c3edf373400c742mtklein ] 1156b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth if (is_mac) { 1157b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/mac/skia_mac.mm" ] 1158b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } else if (is_win) { 1159b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/win/skia_win.cpp" ] 1160b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } else if (is_linux) { 1161b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/unix/skia_unix.cpp" ] 1162b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } 116338925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 116438925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 1165b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":gm", 116638925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 1167b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":samples", 116838925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 116938925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 1170b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":views", 117138925aa37c17c0f54868852b8c3edf373400c742mtklein ] 1172c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein if (skia_use_angle) { 1173c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein deps += [ "//third_party/angle2" ] 1174c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein } 117538925aa37c17c0f54868852b8c3edf373400c742mtklein } 11768f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth } 1177b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth 11788f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth if (skia_enable_gpu) { 1179e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skpbench") { 11808f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth sources = [ 11818f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth "tools/skpbench/skpbench.cpp", 11828f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ] 11838f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth deps = [ 11848f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":flags", 11858f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":gpu_tool_utils", 11868f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":skia", 11878f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":tool_utils", 11888f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ] 1189b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } 11904b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 11914b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 11927d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein # We can't yet build ICU on iOS or Windows. 11937d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (!is_ios && !is_win) { 1194e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("sktexttopdf-hb") { 11956f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 11966f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 11976f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 11986f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 11996f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 12006f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 12016f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 12026f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 12036f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 120419a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 1205e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("sktexttopdf") { 12063eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 12073eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 12083eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 12093eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 12103eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 12113eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 12123eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 12133eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 1214046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 1215e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("get_images_from_skps") { 1216046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 1217046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 1218046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1219046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 1220046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 1221046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 1222046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 1223046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1224046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 1225ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein 1226e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("colorspaceinfo") { 12278740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett sources = [ 12288740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett "tools/colorspaceinfo.cpp", 12298740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ] 12308740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett deps = [ 12318740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":flags", 12328740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":skia", 12338740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":tool_utils", 12348740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ] 12358740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett } 12368740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett 12377d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (!is_ios) { 1238e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skiaserve") { 12397d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources = [ 12407d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/Request.cpp", 12417d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/Response.cpp", 12427d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/skiaserve.cpp", 12437d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/BreakHandler.cpp", 12447d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ClipAlphaHandler.cpp", 12457d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/CmdHandler.cpp", 12467d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ColorModeHandler.cpp", 12477d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/DataHandler.cpp", 12487d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/DownloadHandler.cpp", 12497d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/EnableGPUHandler.cpp", 12507d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ImgHandler.cpp", 12517d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/InfoHandler.cpp", 1252144a5c518ae921f210bdd9647c061e57d18f440cBrian Salomon "tools/skiaserve/urlhandlers/OpBoundsHandler.cpp", 1253144a5c518ae921f210bdd9647c061e57d18f440cBrian Salomon "tools/skiaserve/urlhandlers/OpsHandler.cpp", 12547d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/OverdrawHandler.cpp", 12557d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/PostHandler.cpp", 12567d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/QuitHandler.cpp", 12577d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/RootHandler.cpp", 12587d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 12597d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein deps = [ 12607d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":flags", 12617d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":gpu_tool_utils", 12627d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":skia", 12637d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":tool_utils", 12647d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/jsoncpp", 12657d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/libmicrohttpd", 12667d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/libpng", 12677d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 12687d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } 1269ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein } 127014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick 1271e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("fuzz") { 127214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick sources = [ 127314f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FilterFuzz.cpp", 1274fec1dea8098fe09f04fff542efdb83edc1fe8240Kevin Lubick "fuzz/FuzzDrawFunctions.cpp", 127514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzGradients.cpp", 127614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzParsePath.cpp", 127714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzPathop.cpp", 127814f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzScaleToSides.cpp", 127914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/fuzz.cpp", 128014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 128114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick deps = [ 128214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":flags", 128314f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":skia", 1284db6830162eca5b94e61d9825ec93306fc615d204Hal Canary ":tool_utils", 128514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 128614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick } 12873831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein 1288e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("pathops_unittest") { 12896e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = pathops_tests_sources + [ 12906e55fef07fce151bce187eabc59924ca60b3310aMike Klein rebase_path("tests/skia_test.cpp"), 12916e55fef07fce151bce187eabc59924ca60b3310aMike Klein rebase_path("tests/Test.cpp"), 12926e55fef07fce151bce187eabc59924ca60b3310aMike Klein ] 12939feb6326d0c5407247ed1e3d8fade2f86b233001caryclark deps = [ 12949feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":flags", 12959feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":gpu_tool_utils", 12969feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":skia", 12979feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":tool_utils", 12989feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ] 12999feb6326d0c5407247ed1e3d8fade2f86b233001caryclark } 13009feb6326d0c5407247ed1e3d8fade2f86b233001caryclark 1301e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("dump_record") { 13023831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein sources = [ 13033831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/DumpRecord.cpp", 13043831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/dump_record.cpp", 13053831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 13063831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein deps = [ 13073831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":flags", 13083831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":skia", 13093831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 13103831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein } 1311fe9172705791848ebfe5b5630973b7e67305f64cbungeman 1312e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skdiff") { 1313fe9172705791848ebfe5b5630973b7e67305f64cbungeman sources = [ 1314fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff.cpp", 1315fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_html.cpp", 1316fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_main.cpp", 1317fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_utils.cpp", 1318fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1319fe9172705791848ebfe5b5630973b7e67305f64cbungeman deps = [ 1320fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":skia", 1321fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":tool_utils", 1322fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1323fe9172705791848ebfe5b5630973b7e67305f64cbungeman } 1324a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary 1325e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skp_parser") { 1326a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary sources = [ 1327a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "tools/skp_parser.cpp", 1328a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1329a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary deps = [ 1330a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":skia", 1331a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":tool_utils", 1332a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "//third_party/jsoncpp", 1333a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1334a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary } 133516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 1336a92c383e2f1ceb0323aef79fa444450e6a3e1c03Mike Klein if (skia_enable_gpu && (is_android || is_linux || is_win || is_mac)) { 1337e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("viewer") { 1338e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein is_shared_library = is_android 133916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 134016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/GMSlide.cpp", 134116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/ImageSlide.cpp", 134216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SKPSlide.cpp", 134316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SampleSlide.cpp", 134416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/Viewer.cpp", 134516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/CommandSet.cpp", 134616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/GLWindowContext.cpp", 134716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/Window.cpp", 134816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/WindowContext.cpp", 134916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 13502dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs = [] 135116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 13524e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 13534e56a91393733359ba19967a78df26184e53854eJim Van Verth sources += [ 13544e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/GLWindowContext_android.cpp", 13554e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/RasterWindowContext_android.cpp", 13564e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/Window_android.cpp", 13574e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/main_android.cpp", 13584e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/surface_glue_android.cpp", 13594e56a91393733359ba19967a78df26184e53854eJim Van Verth ] 13604e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_linux) { 13612dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 13622dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/GLWindowContext_unix.cpp", 13632dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/RasterWindowContext_unix.cpp", 13642dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/Window_unix.cpp", 13652dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/main_unix.cpp", 13662dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 13672dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 136816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 136916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/GLWindowContext_win.cpp", 137016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/RasterWindowContext_win.cpp", 137116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/Window_win.cpp", 137216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/main_win.cpp", 137316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 137443c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein } else if (is_mac) { 137543c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein sources += [ 137643c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/GLWindowContext_mac.cpp", 137743c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/RasterWindowContext_mac.cpp", 137843c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/Window_mac.cpp", 137943c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/main_mac.cpp", 138043c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein ] 138116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 138216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 138316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (skia_use_vulkan) { 138416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/VulkanWindowContext.cpp" ] 13854e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 13864e56a91393733359ba19967a78df26184e53854eJim Van Verth sources += 13874e56a91393733359ba19967a78df26184e53854eJim Van Verth [ "tools/viewer/sk_app/android/VulkanWindowContext_android.cpp" ] 13884e56a91393733359ba19967a78df26184e53854eJim Van Verth libs += [ "android" ] 13894e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_linux) { 13902dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ "tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp" ] 13912dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs += [ "X11-xcb" ] 13922dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 139316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/win/VulkanWindowContext_win.cpp" ] 139416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 139516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 139616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 139716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman include_dirs = [] 139816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 139916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":flags", 140016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gm", 140116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gpu_tool_utils", 140216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":samples", 140316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":skia", 140416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 140516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 140616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "//third_party/jsoncpp", 140716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 14084e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 14094e56a91393733359ba19967a78df26184e53854eJim Van Verth deps += [ "//third_party/native_app_glue" ] 14104e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_mac) { 141143c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein deps += [ "//third_party/libsdl" ] 141243c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein } 1413a92c383e2f1ceb0323aef79fa444450e6a3e1c03Mike Klein } 141416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 14154f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas 1416621ea115e0b14467ae8f410ed6ad7a31bbe224e2Mike Klein if (is_android && is_skia_standalone && ndk != "") { 141770120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger copy("gdbserver") { 141870120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger sources = [ 141970120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$ndk/$ndk_gdbserver", 142070120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger ] 142170120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger outputs = [ 142270120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$root_out_dir/gdbserver", 142370120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger ] 142470120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger } 142570120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger if (ndk_simpleperf != "") { 142670120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger copy("simpleperf") { 142770120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger sources = [ 142870120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$ndk/$ndk_simpleperf", 142970120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$ndk/simpleperf/simpleperf_report.py", 143070120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger ] 143170120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger outputs = [ 143270120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$root_out_dir/{{source_file_part}}", 143370120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger ] 143470120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger } 143570120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger } 143670120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger } 143770120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger 14384f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas if (skia_enable_gpu) { 1439e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skslc") { 14404f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas sources = [ 14414f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas "src/sksl/SkSLMain.cpp", 14424f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ] 14434f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas deps = [ 14444f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ":flags", 14454f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ":skia", 14464f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ] 14474f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas } 14484f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas } 144925c81d4e651b43b8217c365c87d530036529a673mtklein} 1450