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 93669a824baeadee660b32a719e6879ecb5f7fca9Mike Kleinif (!defined(is_skia_standalone)) { 103669a824baeadee660b32a719e6879ecb5f7fca9Mike Klein is_skia_standalone = false 113669a824baeadee660b32a719e6879ecb5f7fca9Mike Klein} 123669a824baeadee660b32a719e6879ecb5f7fca9Mike Kleinis_skia_dev_build = is_skia_standalone && !is_official_build 133669a824baeadee660b32a719e6879ecb5f7fca9Mike Klein 14c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() { 15c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein skia_use_angle = false 166321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 173cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 18cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 1969f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein skia_use_gdi = false 207d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein skia_use_icu = !is_fuchsia && !is_ios && !is_win # TODO: Windows 216321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 226321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 23eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 2438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein skia_use_lua = false 25a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 2610d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein skia_use_piex = !is_win 276321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 281bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 297d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein skia_android_serial = "" 301bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 313f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman skia_enable_discrete_gpu = true 32a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein skia_enable_effects = true 332fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein skia_enable_jumper = is_skia_dev_build 3406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 3543fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary skia_enable_pdf = true 36a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas skia_enable_spirv_validation = is_skia_dev_build && is_debug 373669a824baeadee660b32a719e6879ecb5f7fca9Mike Klein skia_enable_tools = is_skia_dev_build 383669a824baeadee660b32a719e6879ecb5f7fca9Mike Klein skia_enable_vulkan_debug_layers = is_skia_dev_build && is_debug 39686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel skia_vulkan_sdk = getenv("VULKAN_SDK") 40c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 4123d73ea5b45cef6cf66ebe912725c4dd947c4767Brian Salomondeclare_args() { 42189491c2813981fd51c2ad813b45e789c27297d1Matt Sarett skia_use_dng_sdk = !is_fuchsia && 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/pathops", 671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 6825c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 691211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 701211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 721211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 73c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 751211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 76ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines = [] 77ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein if (is_component_build) { 78ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines += [ "SKIA_DLL" ] 79ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein } 80c4cbd74a38232a0e9f1cc1cc8fb826bb06c577a9Mike Klein if (is_fuchsia || is_linux) { 815561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 825561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 83cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 84cfc4f44aebdd560c600991ad900a4f07c3958c8fMike Klein defines += android_framework_defines 85cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 8606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 8706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 8806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 981211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 99c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 100c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 10125c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 10225c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 103c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 104c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 105c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 106c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 107c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 1082b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 109c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 1119e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 1137a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 1145a8fe978c3d90a5aced700af42b9394d4264cdfcHerb Derby "src/xml", 115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 11619b91531e912283d237435d94516575b28713cbascroggo "third_party/gif", 117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 118150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 119b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth defines = [ 120b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "SK_GAMMA_APPLY_TO_A8", 121b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "SK_INTERNAL", 122b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ] 123b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 124b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 125b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 126b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 127b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 128b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 12988a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 13088a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 13188a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 13288a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 133789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon libs = [] 134789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon lib_dirs = [] 135789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_use_vulkan) { 136ab563d471960b0bd5d3ed22dd604bc92521ffe01Greg Daniel if (skia_vulkan_sdk != "" && !is_android) { 137487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 138487bfc26f93821548b4f02269aacc4843b259a23Mike Klein include_dirs += [ "$skia_vulkan_sdk/Include/" ] 1393b5bf35720c9f751f4df10666a5228ae134bbcddBrian Salomon lib_dirs += [ 1403b5bf35720c9f751f4df10666a5228ae134bbcddBrian Salomon "$skia_vulkan_sdk/Bin", 1413b5bf35720c9f751f4df10666a5228ae134bbcddBrian Salomon "$skia_vulkan_sdk/Lib", 1423b5bf35720c9f751f4df10666a5228ae134bbcddBrian Salomon ] 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 } 15403e058414cfc2f65d01a786024378092eed8833dBrian Salomon if (skia_enable_gpu) { 15503e058414cfc2f65d01a786024378092eed8833dBrian Salomon include_dirs += [ "src/gpu" ] 15603e058414cfc2f65d01a786024378092eed8833dBrian Salomon } 15734755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman if (skia_use_angle) { 15834755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman defines += [ "SK_ANGLE" ] 15934755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman } 1603f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman if (skia_enable_discrete_gpu) { 1613f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman defines += [ "SK_ENABLE_DISCRETE_GPU" ] 1623f375d055a9bf167122a5bbf4db9753f4b46a781Brian Osman } 163c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 164c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 165c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 166c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 167c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 168c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 169c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 170c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 171c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 172c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 173c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 174c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 175c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 176c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1779b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1789b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1799b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1809b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1819b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1829b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1839b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1849b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1859b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1869b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1879b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1889b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1899b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1909b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1919b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1929b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1939b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1949b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 195a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 196a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 197422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 198c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1997d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 2007d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 201b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 202b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 203b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 204b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 2057d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 206b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 207b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 2087d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 209b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 210b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 211b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 212b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 213b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 214b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 215b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 216b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 217b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 218b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 219b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 220b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 221b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 222b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 2239b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 2249b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 225b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 226d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 227d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2" ] 228d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2293eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse2" ] 2303eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2319b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2324e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2339b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 2349b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 235b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 236d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 237d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSSE3" ] 238d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2393eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mssse3" ] 2403eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2419b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2424e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2439b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 2449b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 245b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 246d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 247d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE41" ] 248d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2493eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.1" ] 2503eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2519b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 252c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 2539b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 2549b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 255b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 256d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 257d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE42" ] 258d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2593eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.2" ] 2603eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2619b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2629b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 2639b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 2649b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 265b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 2663eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 26717b6e487b71b7ed541d3239f194e121fbe8efd1dMike Klein cflags = [ "/arch:AVX" ] 2683eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2693eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mavx" ] 2703eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 271c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 272c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 27378d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Kleinopts("hsw") { 27478d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein enabled = is_x86 27578d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein sources = skia_opts.hsw_sources 2763eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 27717b6e487b71b7ed541d3239f194e121fbe8efd1dMike Klein cflags = [ "/arch:AVX2" ] 2783eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2793eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ 2803eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mavx2", 2813eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi", 2823eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi2", 2833eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mf16c", 2843eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mfma", 2853eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein ] 2863eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 28778d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein} 28878d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein 289c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 290457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 291457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 292457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 293cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 294cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 295cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 296457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 297457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 298cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 299cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 300cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 301cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 302cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 303f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "configs_to_remove", 304cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 305457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 3069b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 307f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo if (defined(invoker.configs_to_remove)) { 308f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo configs -= invoker.configs_to_remove 309f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo } 310457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 311457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 312457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 313457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 314457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 315457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 316457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 317457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 3186ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 319457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 320cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 321f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "configs_to_remove", 322457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 323cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 324cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 325cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 326cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 327457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 328eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 329eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 330457b42a6398020c3791f62f8c8637653e0d39bccmtklein 331a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Kleinoptional("effects") { 332a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein enabled = skia_enable_effects 333a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein sources = 334a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein skia_effects_sources + [ "src/ports/SkGlobalInitialization_default.cpp" ] 335a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein sources_when_disabled = [ "src/ports/SkGlobalInitialization_none.cpp" ] 336a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein} 337a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein 338a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 339a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 340a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 341a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 342fc497343cbcbd526f77da913ae2feca0e1b1b866Ben Wagner ":typeface_freetype", 343a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 344a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 345a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 346a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 347a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 348a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 349a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 350a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 351a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 352d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 353d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 354d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 355d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 356fc497343cbcbd526f77da913ae2feca0e1b1b866Ben Wagner ":typeface_freetype", 357d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 358d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 359d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 3608ab590f17fed097758b209c3b82fc1e4d802768eBen Wagner "src/ports/SkFontMgr_custom.h", 3618ab590f17fed097758b209c3b82fc1e4d802768eBen Wagner "src/ports/SkFontMgr_custom_directory.cpp", 362d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 3638ab590f17fed097758b209c3b82fc1e4d802768eBen Wagner "src/ports/SkFontMgr_custom_embedded.cpp", 3648ab590f17fed097758b209c3b82fc1e4d802768eBen Wagner "src/ports/SkFontMgr_custom_empty.cpp", 365d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 366d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 367d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 3683cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 3693cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 3703cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3713cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 372fc497343cbcbd526f77da913ae2feca0e1b1b866Ben Wagner ":typeface_freetype", 3733cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 3743cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3753cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3761ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 3773cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 3783cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 3793cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 3803cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 3813cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 3823cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3833cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3843cc22180561ae17a64ff0e0f9ba173eac149009emtklein 385cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 386cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 387cdedd0e061f3f50cd217638c28b27d798d930896mtklein 388cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 389fc497343cbcbd526f77da913ae2feca0e1b1b866Ben Wagner ":typeface_freetype", 390cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 391cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 392cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 3938ab590f17fed097758b209c3b82fc1e4d802768eBen Wagner "src/ports/SkFontMgr_custom_empty.cpp", 394cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 395cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 396cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 397cdedd0e061f3f50cd217638c28b27d798d930896mtklein 39806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 39906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 400e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 401e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 40229b3e58befbaa0b81fb7880e6ebcfa8061e2db2eMike Klein sources = skia_gpu_sources + skia_sksl_sources + 40329b3e58befbaa0b81fb7880e6ebcfa8061e2db2eMike Klein [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 40406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 40506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 40606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 40706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 40806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 40906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 41006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 411703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs = [] 41206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 41306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 41406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 41506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 416a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein libs += [ 417a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein "GL", 418a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein "GLU", 419a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein ] 42006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 42106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 422130a118cc68f8f9973e9572356011de378463feaChinmay Garde } else if (is_ios) { 423130a118cc68f8f9973e9572356011de378463feaChinmay Garde sources += [ "src/gpu/gl/iOS/GrGLCreateNativeInterface_iOS.cpp" ] 424703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein } else if (is_win) { 425703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein sources += [ "src/gpu/gl/win/GrGLCreateNativeInterface_win.cpp" ] 426703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs += [ "OpenGL32.lib" ] 42706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 42806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 42906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 430e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 431e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 432e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 433e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 434e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 435e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 436e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 437e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 438a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas if (skia_enable_spirv_validation) { 439a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas deps = [ 440a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas "//third_party/spirv-tools", 441a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas ] 442a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas public_defines += [ "SK_ENABLE_SPIRV_VALIDATION" ] 443a6ae1f7cda072ff814a838e2d9013a017552cc35Ethan Nicholas } 44406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 44506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 4466321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 4476321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 4486321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 4496321381d18f9d478598c0996c1380633003961ddmtklein 4506321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4516321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 4526321381d18f9d478598c0996c1380633003961ddmtklein ] 4536321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4546321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 4556321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 4566321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 4576321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 4586321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 4596321381d18f9d478598c0996c1380633003961ddmtklein ] 4606321381d18f9d478598c0996c1380633003961ddmtklein} 4616321381d18f9d478598c0996c1380633003961ddmtklein 4626321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 46343fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary enabled = skia_use_zlib && skia_enable_pdf 46443fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary public_defines = [ "SK_SUPPORT_PDF" ] 4656321381d18f9d478598c0996c1380633003961ddmtklein 4666321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4676321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 4686321381d18f9d478598c0996c1380633003961ddmtklein ] 469b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 470cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 4716321381d18f9d478598c0996c1380633003961ddmtklein 4726321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 4736321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 47443fb7a014b785960e5892cadd0bd30c10328ae8aHal Canary public_defines += [ "SK_PDF_USE_SFNTLY" ] 4756321381d18f9d478598c0996c1380633003961ddmtklein } 4766321381d18f9d478598c0996c1380633003961ddmtklein} 4776321381d18f9d478598c0996c1380633003961ddmtklein 4786321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 4796321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 4806321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 4816321381d18f9d478598c0996c1380633003961ddmtklein 4826321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4836321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 4846321381d18f9d478598c0996c1380633003961ddmtklein ] 4856321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4866321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 4876321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 4886321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 4896321381d18f9d478598c0996c1380633003961ddmtklein ] 4906321381d18f9d478598c0996c1380633003961ddmtklein} 4916321381d18f9d478598c0996c1380633003961ddmtklein 492f84ad646f94ee959eb17d05f072935edd1ad14fdscroggooptional("raw") { 49310d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein enabled = skia_use_dng_sdk && skia_use_libjpeg_turbo && skia_use_piex 494f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo public_defines = [ "SK_CODEC_DECODES_RAW" ] 495f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 496f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo deps = [ 497f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/dng_sdk", 498f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/libjpeg-turbo:libjpeg", 499f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/piex", 500f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ] 501f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 502f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo # SkRawCodec catches any exceptions thrown by dng_sdk, insulating the rest of 503f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo # Skia. 504f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo configs_to_remove = [ "//gn:no_exceptions" ] 505f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 506f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo sources = [ 507f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "src/codec/SkRawAdapterCodec.cpp", 508f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "src/codec/SkRawCodec.cpp", 509f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ] 510f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo} 511f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 5122fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Kleinoptional("jumper") { 5132fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein enabled = skia_enable_jumper 5142fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein public_defines = [ "SK_JUMPER" ] 5152fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein sources = [ 5162fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein "src/jumper/SkJumper.cpp", 5172fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein "src/jumper/SkJumper_generated.cpp", 5182fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein "src/jumper/SkJumper_stages.cpp", 5192fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein ] 5202fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein} 5212fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein 5223cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 5233cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 5243cc22180561ae17a64ff0e0f9ba173eac149009emtklein 5253cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 5263cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 5273cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 5283cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 5293cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 5303cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 5313cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 5323cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 5333cc22180561ae17a64ff0e0f9ba173eac149009emtklein 534457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 535457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 536457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 537457b42a6398020c3791f62f8c8637653e0d39bccmtklein 538457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 539457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 540457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 541457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 542457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 543457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 544457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 545457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 546457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 547eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 5486321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 5496321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 550442fff958c911bbc354a56003e3a8d75805c45f6Florin Malita public_defines = [ "SK_XML" ] 5516321381d18f9d478598c0996c1380633003961ddmtklein 5526321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 5536321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 5546321381d18f9d478598c0996c1380633003961ddmtklein ] 5556321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 556bd41bcc4d7e01bedd416c05f11b7b1ab10258a77Mike Klein "src/svg/SkSVGCanvas.cpp", 557bd41bcc4d7e01bedd416c05f11b7b1ab10258a77Mike Klein "src/svg/SkSVGDevice.cpp", 5586321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 5596321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 5606321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 5616321381d18f9d478598c0996c1380633003961ddmtklein ] 5626321381d18f9d478598c0996c1380633003961ddmtklein} 5636321381d18f9d478598c0996c1380633003961ddmtklein 564c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 565c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 566c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 567c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 568c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 569b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 570b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 5719b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 572b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 573a04bb45b23e201f317e6bddd41b3241df9f3ac2cMike Klein ":effects", 574a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 575d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 5763cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 577cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 57806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 57978d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein ":hsw", 5806321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 5812fcd17087e4e299a734f4f41fe94cd039adc2b64Mike Klein ":jumper", 5829b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 5836321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 5846321381d18f9d478598c0996c1380633003961ddmtklein ":png", 585f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ":raw", 5869b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 5879b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 5889b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 5899b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 590eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 5916321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 592c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 593c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 59443f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # This file (and all GN files in Skia) are designed to work with an 59543f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # empty sources assignment filter; we handle all that explicitly. 59643f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # We clear the filter here for clients who may have set up a global filter. 59743f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde set_sources_assignment_filter([]) 59843f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde 599c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 600b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 601b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 6026ad3d2fa38589fafd8b1c203996a402bd8b24362Hal Canary sources += skia_xps_sources 603c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 60425c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 60525c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 60625c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 6071211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 6081211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 6091211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 6101211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 6111211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 6121211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 61319b91531e912283d237435d94516575b28713cbascroggo "src/codec/SkGifCodec.cpp", 6141211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 6151211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 61625c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 6171211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 61819b91531e912283d237435d94516575b28713cbascroggo "src/codec/SkStreamBuffer.cpp", 6191211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 6201211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 621c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 622c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 6231211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 624c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 625c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 626c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 627c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 628c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 629c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 6303d3a65c488162ef1db0b35adf3235d012b04c88dscroggo "third_party/gif/SkGifImageReader.cpp", 631c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 632b944728b93a1623d73be31413a6798e0b7dddc16brettw 6337d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 6347d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 635c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 636c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 637ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein "src/fonts/SkFontMgr_indirect.cpp", 638c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 639c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 640c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 641c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 642c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 643c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 644605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_win.cpp", 645c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 646c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 647c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 648c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 64969f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein if (skia_use_gdi) { 65069f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_gdi_factory.cpp" ] 65169f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein libs += [ 65269f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Gdi32.lib", 65369f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Usp10.lib", 65469f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein ] 65569f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } else { 65669f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_dw_factory.cpp" ] 65769f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } 658b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 659b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 6604b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 6614b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "FontSub.lib", 6624b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Ole32.lib", 6634b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OleAut32.lib", 6644b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "User32.lib", 6654b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 666c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 667c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 668c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 669605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_posix.cpp", 670c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 671c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 672c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 673c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 6747d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 6751c471874c52cfb811fce8a5beed447042319f515Mike Klein deps += [ "//third_party/expat" ] 676e459afd6ce2c2ccbad500dc2e77e0ac287af90ebMike Klein if (defined(ndk) && ndk != "") { 6771c471874c52cfb811fce8a5beed447042319f515Mike Klein deps += [ "//third_party/cpu-features" ] 6781c471874c52cfb811fce8a5beed447042319f515Mike Klein } 67906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 6807d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 6817d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 6827d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 6837d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 6847d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 6857d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 6867d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 687c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 68806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 689c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 690c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 691c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 692c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 6937d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 694c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 695c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 696c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 697c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 69809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 69909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 70009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 70109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 702c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 7036fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 7047d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (is_ios) { 7057d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources += [ 7067d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkDebug_stdio.cpp", 7077d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkFontHost_mac.cpp", 7087d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkImageEncoder_CG.cpp", 7097d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkImageGeneratorCG.cpp", 7107d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 7117d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein libs += [ 7127d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreFoundation.framework", 7137d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreGraphics.framework", 7147d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreText.framework", 7157d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "ImageIO.framework", 7167d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "MobileCoreServices.framework", 7177d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 7187d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } 7197d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein 7206fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 72106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 7226fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 723c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 724c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 725c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein# Targets guarded by skia_enable_tools may use //third_party freely. 726c36dedf613b09cc5e2286b2f0602c73722c85958Mike Kleinif (skia_enable_tools) { 727308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein # Used by gn_to_bp.py to list our public include dirs. 728308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein source_set("public") { 729308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein configs += [ ":skia_public" ] 730308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein } 731308b5ac681d5423ddafd208e3d90179e6dc9502eMike Klein 732c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein config("skia.h_config") { 733c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein include_dirs = [ "$target_gen_dir" ] 734c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 735c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein action("skia.h") { 736c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein public_configs = [ ":skia.h_config" ] 737c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein skia_h = "$target_gen_dir/skia.h" 738c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein script = "gn/find_headers.py" 739c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein args = [ rebase_path(skia_h, root_build_dir) ] + 740c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein rebase_path(skia_public_includes) 741c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein depfile = "$skia_h.deps" 742c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein outputs = [ 743c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein skia_h, 744c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 745c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 7461211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 747c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (skia_enable_gpu && target_cpu == "x64") { 748c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein # Our bots only have 64-bit libOSMesa installed. 749c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein # TODO: worth fixing? 750c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein executable("fiddle") { 751c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein libs = [] 752c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (is_linux) { 753c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein libs += [ "OSMesa" ] 754c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 75556d5669095feca663e9e05f4621146abeee626ecmtklein 756c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein sources = [ 757c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/fiddle/draw.cpp", 758c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/fiddle/fiddle_main.cpp", 759c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 760c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein deps = [ 761c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia", 762c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia.h", 763c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 764c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 7651fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 76625c81d4e651b43b8217c365c87d530036529a673mtklein 767c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (skia_enable_gpu) { 768c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein source_set("public_headers_warnings_check") { 769c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein sources = [ 770c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/public_headers_warnings_check.cpp", 771c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 772c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein configs -= [ "//gn:warnings_except_public_headers" ] 773c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein deps = [ 774c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia", 775c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia.h", 776c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 777c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 77850500ad470af3d82c68144fec7e55c9cdffb5d98Mike Klein } 77950500ad470af3d82c68144fec7e55c9cdffb5d98Mike Klein 780c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 781c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 782c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 783a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 784a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 785a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 786c095df55e86e7126b0582856720bb9177b553ff1mtklein } 787c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 788c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 789c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 790c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 791c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 792c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 793c095df55e86e7126b0582856720bb9177b553ff1mtklein 794c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 795c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 796c095df55e86e7126b0582856720bb9177b553ff1mtklein } 797c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 798c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 799c095df55e86e7126b0582856720bb9177b553ff1mtklein } 80025c81d4e651b43b8217c365c87d530036529a673mtklein } 801c095df55e86e7126b0582856720bb9177b553ff1mtklein 802e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein template("test_app") { 803e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein if (defined(invoker.is_shared_library) && invoker.is_shared_library) { 804e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein shared_library("lib" + target_name) { 805e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein forward_variables_from(invoker, "*", [ "is_shared_library" ]) 806e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein testonly = true 807e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 808e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } else { 8097d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein _executable = target_name 8107d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein executable(_executable) { 811e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein forward_variables_from(invoker, "*", [ "is_shared_library" ]) 812e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein testonly = true 813e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 814e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 8157d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein if (is_android && skia_android_serial != "" && defined(_executable)) { 8167d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein action("push_" + target_name) { 8177d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein script = "gn/push_to_android.py" 8187d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein deps = [ 8197d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ":" + _executable, 8207d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ] 8217d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein _stamp = "$target_gen_dir/$_executable.pushed_$skia_android_serial" 8227d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein outputs = [ 8237d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein _stamp, 8247d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ] 8257d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein args = [ 8267d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein rebase_path("$root_build_dir/$_executable"), 8277d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein skia_android_serial, 8287d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein rebase_path(_stamp), 8297d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein ] 8307d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein testonly = true 8317d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein } 8327d92103f9ebed04c54f4ec8636f98dc0e4fc3056Mike Klein } 833e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein } 834e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein 835c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 83638925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 83738925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 83838925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 83938925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 840d68f9b00389bf676b171f250e684486cb2fbd404mtklein 841d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps = [] 84238925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 84338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 84438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 84538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 84638925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 847605d95289379a07aad50b38ca6badbee45813d56mtklein "tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp", 84838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 84938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 85038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 85138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 85238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 85338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 85438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 85538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 85638925aa37c17c0f54868852b8c3edf373400c742mtklein ] 85738925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 85838925aa37c17c0f54868852b8c3edf373400c742mtklein 85938925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 86038925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 8617d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } else if (is_ios) { 8627d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources += [ "tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm" ] 8637d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein libs += [ "OpenGLES.framework" ] 86438925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 86538925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 866a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein libs += [ "X11" ] 86738925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 86838925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 8694b167fc8503d8b4887346c5054fc2cc93428846dMike Klein } else if (is_win) { 8704b167fc8503d8b4887346c5054fc2cc93428846dMike Klein sources += [ "tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp" ] 8714b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 8724b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Gdi32.lib", 8734b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OpenGL32.lib", 8744b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 87538925aa37c17c0f54868852b8c3edf373400c742mtklein } 876238b820369c4b556c2e7c8277855e6950de3d9ebBrian Salomon 877c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein if (skia_use_angle) { 878c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein deps += [ "//third_party/angle2" ] 879c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ] 880c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein } 88138925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 88238925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 88338925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 88438925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 88538925aa37c17c0f54868852b8c3edf373400c742mtklein } 886d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_vulkan) { 887d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 888d68f9b00389bf676b171f250e684486cb2fbd404mtklein } 889a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 89025c81d4e651b43b8217c365c87d530036529a673mtklein } 89125c81d4e651b43b8217c365c87d530036529a673mtklein 892c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 893c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 894c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 895c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 896046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 897046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 898046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 899046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 900046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 901c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 902c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 903c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 904c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 905046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 906c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 907c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 90825c81d4e651b43b8217c365c87d530036529a673mtklein } 90925c81d4e651b43b8217c365c87d530036529a673mtklein 910c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 911c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 912c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 913c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 914c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 915c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 916c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 917c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 918b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 919c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 9200590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 921c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 922c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 923c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 924c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 925c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 926c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 927c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 928c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 929c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 930c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 931c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 932c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 933c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 934c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 935adacaef799455013bf00b85a43237ac8d9471adeMike Klein libs = [] 936adacaef799455013bf00b85a43237ac8d9471adeMike Klein if (is_ios) { 937adacaef799455013bf00b85a43237ac8d9471adeMike Klein sources += [ "tools/ios_utils.m" ] 938adacaef799455013bf00b85a43237ac8d9471adeMike Klein libs += [ "Foundation.framework" ] 939adacaef799455013bf00b85a43237ac8d9471adeMike Klein } 940c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 941046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 942c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 943c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 944c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 945c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 946c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 947c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 948c095df55e86e7126b0582856720bb9177b553ff1mtklein } 94925c81d4e651b43b8217c365c87d530036529a673mtklein 9506e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/gm.gni") 951c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 952c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 953c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 954c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 95519b91531e912283d237435d94516575b28713cbascroggo ":flags", 956c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 957c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 958c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 959c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 960c095df55e86e7126b0582856720bb9177b553ff1mtklein } 96125c81d4e651b43b8217c365c87d530036529a673mtklein 9626e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/tests.gni") 963c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 964c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 9656e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = tests_sources + pathops_tests_sources 966a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 9676e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources -= [ "//tests/FontMgrAndroidParserTest.cpp" ] 968a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 969c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 9706cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 971c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 972c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 973c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 974c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 975c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 976c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 977d63442d87c6d35af4b2771a30a80e67d6aa92b68Mike Klein public_deps = [ 978d63442d87c6d35af4b2771a30a80e67d6aa92b68Mike Klein ":gpu_tool_utils", # Test.h #includes headers from this target. 979d63442d87c6d35af4b2771a30a80e67d6aa92b68Mike Klein ] 980c095df55e86e7126b0582856720bb9177b553ff1mtklein } 9812f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 9826e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/bench.gni") 983c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 984c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 985c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 986c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 987c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 988c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 989c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 990c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 991c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 992c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 993c095df55e86e7126b0582856720bb9177b553ff1mtklein } 9942b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 995c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 996c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 997c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 998c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 999c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 1000c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 1001ce8840e3842f3a702c5d7bf440ff730bdfaf8e70Florin Malita "experimental/svg/model/SkSVGClipPath.cpp", 1002c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 1003c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 1004c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 1005c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 100628d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 1007c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 1008c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 1009c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 1010c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 1011c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 1012c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 1013c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 101428d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 1015c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 1016c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 1017c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 1018c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 1019c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 1020c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 1021c095df55e86e7126b0582856720bb9177b553ff1mtklein } 1022a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 102316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("views") { 102416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "include/views" ] 102516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 102616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEvent.cpp", 102716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEventSink.cpp", 102816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkOSMenu.cpp", 102916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTagList.cpp", 103016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTouchGesture.cpp", 103116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkView.cpp", 103216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkViewPriv.cpp", 103316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 103416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs = [] 103534755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman deps = [] 103616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (!is_android) { 103716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/SkWindow.cpp" ] 103816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 10394e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_linux) { 10402dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman public_include_dirs += [ "src/views/unix" ] 10412dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 10422dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/SkOSWindow_Unix.cpp", 10432dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/keysym2ucs.c", 10442dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 1045a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein libs += [ 1046a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein "GL", 1047a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein "X11", 1048a979a1d39dae9944a25d81fa6740d4eced9bbdabMike Klein ] 104916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_mac) { 105016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 105116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkEventNotifier.mm", 105216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkNSView.mm", 105316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkOSWindow_Mac.mm", 105416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkTextFieldCell.m", 105516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 105616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs += [ 105716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "QuartzCore.framework", 105816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Cocoa.framework", 105916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Foundation.framework", 106016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 106116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_win) { 106216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/win/SkOSWindow_win.cpp" ] 106316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 106434755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman if (skia_use_angle) { 106534755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman deps += [ "//third_party/angle2" ] 106634755e2cbd55497c9b86bf5ad9eb0668f1b6f6bbBrian Osman } 106716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 106816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 106938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein if (skia_use_lua) { 107038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein test_lib("lua") { 107138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein public_include_dirs = [] 107238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 107338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "src/utils/SkLua.cpp", 107438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "src/utils/SkLuaCanvas.cpp", 107538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 107638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 107738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 107838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 107938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 108038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 1081e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("lua_app") { 108238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 108338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "tools/lua/lua_app.cpp", 108438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 108538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 108638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 108738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":skia", 108838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 108938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 109038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 109138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 1092e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("lua_pictures") { 109338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 109438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "tools/lua/lua_pictures.cpp", 109538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 109638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 109738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":flags", 109838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 109938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":skia", 110038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":tool_utils", 110138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 110238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 110338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 110438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 110538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 11066e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/samples.gni") 110716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("samples") { 110816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "samplecode" ] 11096e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein include_dirs = [ "experimental" ] 11106e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = samples_sources + [ 11116e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp", 11126e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3.cpp", 11136e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3_A.cpp", 11146e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3_D.cpp", 11156e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein ] 111616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 111716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":experimental_svg_model", 11188c67909e0443d0419edbb3743fed57df063850f6csmartdalton ":flags", 11196e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein ":gm", 112016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 112116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 112216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":xml", 112316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 112438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 112538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein if (skia_use_lua) { 112638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources += [ "samplecode/SampleLua.cpp" ] 112738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps += [ 112838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 112938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 113038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 113138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 113216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 113316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 1134e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("dm") { 11352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 11362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 11372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 11382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 11392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11402b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 11412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 1142046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 1143a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 11442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 11452b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 11462b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 11472b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 11482f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 11492b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 11502b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 11512b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 11522b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11532b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 11542b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 115506432b26c6bf25793a65906e1f8e97e691a70351Mike Klein test_app("ok") { 115606432b26c6bf25793a65906e1f8e97e691a70351Mike Klein sources = [ 115706432b26c6bf25793a65906e1f8e97e691a70351Mike Klein "tools/ok.cpp", 11587ac04838c58eebbac477895fafdd4b0421727b9eMike Klein "tools/ok_dsts.cpp", 11597ac04838c58eebbac477895fafdd4b0421727b9eMike Klein "tools/ok_srcs.cpp", 1160d63442d87c6d35af4b2771a30a80e67d6aa92b68Mike Klein "tools/ok_test.cpp", 1161f5d1a5567e3df04c288dc6856a0b41a6a6be0a2dMike Klein "tools/ok_vias.cpp", 116206432b26c6bf25793a65906e1f8e97e691a70351Mike Klein ] 116306432b26c6bf25793a65906e1f8e97e691a70351Mike Klein deps = [ 116406432b26c6bf25793a65906e1f8e97e691a70351Mike Klein ":gm", 116506432b26c6bf25793a65906e1f8e97e691a70351Mike Klein ":skia", 1166d63442d87c6d35af4b2771a30a80e67d6aa92b68Mike Klein ":tests", 116706432b26c6bf25793a65906e1f8e97e691a70351Mike Klein ] 116806432b26c6bf25793a65906e1f8e97e691a70351Mike Klein } 116906432b26c6bf25793a65906e1f8e97e691a70351Mike Klein 1170a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein if (!is_debug) { # I've benchmarked debug code once too many times... 1171e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("monobench") { 1172a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein sources = [ 1173a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein "tools/monobench.cpp", 1174a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1175a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein deps = [ 1176a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":bench", 1177a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":skia", 1178a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1179a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein } 11802b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 11812b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 1182e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("nanobench") { 11832b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 11842b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 11852b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11862b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 11872b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 1188046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 11896519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 11902b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 11912b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 11922b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 11932b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 11942b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 11952b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 11962b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11972b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 119819a9720978700a24efed8dda7e0935ea2b7338c4halcanary 119910d36c54559586a2776c49d540ece409b4294e8dRavi Mistry test_app("skpinfo") { 120010d36c54559586a2776c49d540ece409b4294e8dRavi Mistry sources = [ 120110d36c54559586a2776c49d540ece409b4294e8dRavi Mistry "tools/skpinfo.cpp", 120210d36c54559586a2776c49d540ece409b4294e8dRavi Mistry ] 120310d36c54559586a2776c49d540ece409b4294e8dRavi Mistry deps = [ 120410d36c54559586a2776c49d540ece409b4294e8dRavi Mistry ":flags", 120510d36c54559586a2776c49d540ece409b4294e8dRavi Mistry ":skia", 120610d36c54559586a2776c49d540ece409b4294e8dRavi Mistry ] 120710d36c54559586a2776c49d540ece409b4294e8dRavi Mistry } 120810d36c54559586a2776c49d540ece409b4294e8dRavi Mistry 120957a98fc4d595875ca75f906acec8ba508dcb5248Jim Van Verth if (is_linux || is_win || is_mac) { 1210e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("SampleApp") { 121138925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 1212b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "samplecode/SampleApp.cpp", 1213b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "samplecode/SamplePictFile.cpp", 121438925aa37c17c0f54868852b8c3edf373400c742mtklein ] 1215b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth if (is_mac) { 1216b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/mac/skia_mac.mm" ] 1217b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } else if (is_win) { 1218b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/win/skia_win.cpp" ] 1219b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } else if (is_linux) { 1220b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/unix/skia_unix.cpp" ] 1221b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } 122238925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 122338925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 1224b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":gm", 122538925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 1226b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":samples", 122738925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 122838925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 1229b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":views", 123038925aa37c17c0f54868852b8c3edf373400c742mtklein ] 1231c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein if (skia_use_angle) { 1232c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein deps += [ "//third_party/angle2" ] 1233c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein } 123438925aa37c17c0f54868852b8c3edf373400c742mtklein } 12358f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth } 1236b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth 12378f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth if (skia_enable_gpu) { 1238e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skpbench") { 12398f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth sources = [ 12408f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth "tools/skpbench/skpbench.cpp", 12418f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ] 12428f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth deps = [ 12438f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":flags", 12448f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":gpu_tool_utils", 12458f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":skia", 12468f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":tool_utils", 12478f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ] 1248b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } 12494b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 12504b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 12517d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein # We can't yet build ICU on iOS or Windows. 12527d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (!is_ios && !is_win) { 1253e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("sktexttopdf-hb") { 12546f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 12556f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 12566f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 12576f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 12586f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 12596f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 12606f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 12616f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 12626f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 126319a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 1264e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("sktexttopdf") { 12653eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 12663eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 12673eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 12683eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 12693eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 12703eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 12713eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 12723eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 1273046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 1274e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("get_images_from_skps") { 1275046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 1276046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 1277046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1278046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 1279046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 1280046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 1281046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 1282046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1283046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 1284ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein 1285e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("colorspaceinfo") { 12868740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett sources = [ 12878740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett "tools/colorspaceinfo.cpp", 12888740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ] 12898740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett deps = [ 12908740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":flags", 12918740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":skia", 12928740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":tool_utils", 12938740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ] 12948740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett } 12958740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett 12967d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (!is_ios) { 1297e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skiaserve") { 12987d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources = [ 12997d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/Request.cpp", 13007d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/Response.cpp", 13017d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/skiaserve.cpp", 13027d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/BreakHandler.cpp", 13037d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ClipAlphaHandler.cpp", 13047d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/CmdHandler.cpp", 13057d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ColorModeHandler.cpp", 13067d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/DataHandler.cpp", 13077d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/DownloadHandler.cpp", 13087d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/EnableGPUHandler.cpp", 13097d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ImgHandler.cpp", 13107d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/InfoHandler.cpp", 1311144a5c518ae921f210bdd9647c061e57d18f440cBrian Salomon "tools/skiaserve/urlhandlers/OpBoundsHandler.cpp", 1312144a5c518ae921f210bdd9647c061e57d18f440cBrian Salomon "tools/skiaserve/urlhandlers/OpsHandler.cpp", 13137d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/OverdrawHandler.cpp", 13147d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/PostHandler.cpp", 13157d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/QuitHandler.cpp", 13167d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/RootHandler.cpp", 13177d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 13187d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein deps = [ 13197d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":flags", 13207d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":gpu_tool_utils", 13217d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":skia", 13227d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":tool_utils", 13237d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/jsoncpp", 13247d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/libmicrohttpd", 13257d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/libpng", 13267d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 13277d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } 1328ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein } 132914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick 1330e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("fuzz") { 133114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick sources = [ 133214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FilterFuzz.cpp", 133324ac42b373d9202a89538a1873df9275870c7632Hal Canary "fuzz/FuzzCanvas.cpp", 1334fec1dea8098fe09f04fff542efdb83edc1fe8240Kevin Lubick "fuzz/FuzzDrawFunctions.cpp", 133514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzGradients.cpp", 133614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzParsePath.cpp", 133714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzPathop.cpp", 133814f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzScaleToSides.cpp", 133914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/fuzz.cpp", 134014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 134114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick deps = [ 134214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":flags", 134344801cac9a7a83711e1b04b14e90364e02a6de49Hal Canary ":gpu_tool_utils", 134414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":skia", 1345db6830162eca5b94e61d9825ec93306fc615d204Hal Canary ":tool_utils", 134614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 134714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick } 13483831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein 1349e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("pathops_unittest") { 13506e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = pathops_tests_sources + [ 13516e55fef07fce151bce187eabc59924ca60b3310aMike Klein rebase_path("tests/skia_test.cpp"), 13526e55fef07fce151bce187eabc59924ca60b3310aMike Klein rebase_path("tests/Test.cpp"), 13536e55fef07fce151bce187eabc59924ca60b3310aMike Klein ] 13549feb6326d0c5407247ed1e3d8fade2f86b233001caryclark deps = [ 13559feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":flags", 13569feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":gpu_tool_utils", 13579feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":skia", 13589feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":tool_utils", 13599feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ] 13609feb6326d0c5407247ed1e3d8fade2f86b233001caryclark } 13619feb6326d0c5407247ed1e3d8fade2f86b233001caryclark 1362e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("dump_record") { 13633831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein sources = [ 13643831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/DumpRecord.cpp", 13653831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/dump_record.cpp", 13663831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 13673831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein deps = [ 13683831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":flags", 13693831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":skia", 13703831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 13713831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein } 1372fe9172705791848ebfe5b5630973b7e67305f64cbungeman 1373e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skdiff") { 1374fe9172705791848ebfe5b5630973b7e67305f64cbungeman sources = [ 1375fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff.cpp", 1376fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_html.cpp", 1377fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_main.cpp", 1378fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_utils.cpp", 1379fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1380fe9172705791848ebfe5b5630973b7e67305f64cbungeman deps = [ 1381fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":skia", 1382fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":tool_utils", 1383fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1384fe9172705791848ebfe5b5630973b7e67305f64cbungeman } 1385a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary 1386e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skp_parser") { 1387a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary sources = [ 1388a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "tools/skp_parser.cpp", 1389a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1390a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary deps = [ 1391a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":skia", 1392a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":tool_utils", 1393a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "//third_party/jsoncpp", 1394a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1395a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary } 139616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 1397a92c383e2f1ceb0323aef79fa444450e6a3e1c03Mike Klein if (skia_enable_gpu && (is_android || is_linux || is_win || is_mac)) { 1398e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("viewer") { 1399e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein is_shared_library = is_android 140016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 140116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/GMSlide.cpp", 140216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/ImageSlide.cpp", 140316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SKPSlide.cpp", 140416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SampleSlide.cpp", 140516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/Viewer.cpp", 140616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/CommandSet.cpp", 140716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/GLWindowContext.cpp", 140816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/Window.cpp", 140916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 14102dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs = [] 141116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 14124e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 14134e56a91393733359ba19967a78df26184e53854eJim Van Verth sources += [ 14144e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/GLWindowContext_android.cpp", 14154e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/RasterWindowContext_android.cpp", 14164e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/Window_android.cpp", 14174e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/main_android.cpp", 14184e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/surface_glue_android.cpp", 14194e56a91393733359ba19967a78df26184e53854eJim Van Verth ] 1420462334ebc16beb2c223e806561440b2b0f86c236Brian Osman libs += [ "android" ] 14214e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_linux) { 14222dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 14232dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/GLWindowContext_unix.cpp", 14242dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/RasterWindowContext_unix.cpp", 14252dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/Window_unix.cpp", 14262dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/main_unix.cpp", 14272dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 14282dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 142916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 143016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/GLWindowContext_win.cpp", 143116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/RasterWindowContext_win.cpp", 143216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/Window_win.cpp", 143316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/main_win.cpp", 143416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 143543c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein } else if (is_mac) { 143643c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein sources += [ 143743c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/GLWindowContext_mac.cpp", 143843c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/RasterWindowContext_mac.cpp", 143943c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/Window_mac.cpp", 144043c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/main_mac.cpp", 144143c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein ] 144216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 144316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 144416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (skia_use_vulkan) { 144516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/VulkanWindowContext.cpp" ] 14464e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 14474e56a91393733359ba19967a78df26184e53854eJim Van Verth sources += 14484e56a91393733359ba19967a78df26184e53854eJim Van Verth [ "tools/viewer/sk_app/android/VulkanWindowContext_android.cpp" ] 14494e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_linux) { 14502dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ "tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp" ] 14512dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs += [ "X11-xcb" ] 14522dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 145316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/win/VulkanWindowContext_win.cpp" ] 145416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 145516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 145616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 145716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman include_dirs = [] 145816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 145916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":flags", 146016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gm", 146116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gpu_tool_utils", 146216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":samples", 146316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":skia", 146416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 146516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 146679086b94eda7c46c37e1cf4395eb75ef54807e3cBrian Osman "//third_party/imgui", 146716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "//third_party/jsoncpp", 146816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 14694e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 14704e56a91393733359ba19967a78df26184e53854eJim Van Verth deps += [ "//third_party/native_app_glue" ] 14714e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_mac) { 147243c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein deps += [ "//third_party/libsdl" ] 147343c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein } 1474a92c383e2f1ceb0323aef79fa444450e6a3e1c03Mike Klein } 147516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 14764f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas 1477e459afd6ce2c2ccbad500dc2e77e0ac287af90ebMike Klein if (is_android && defined(ndk) && ndk != "") { 147870120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger copy("gdbserver") { 147970120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger sources = [ 148070120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$ndk/$ndk_gdbserver", 148170120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger ] 148270120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger outputs = [ 148370120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger "$root_out_dir/gdbserver", 148470120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger ] 148570120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger } 148670120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger } 148770120c778abc42ce754fb8178aa49bf8ce95a5c3Derek Sollenberger 14884f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas if (skia_enable_gpu) { 1489e6682eb88c1db2bb6f9de34f6e3b1b70c91f5e38Mike Klein test_app("skslc") { 14904f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas sources = [ 14914f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas "src/sksl/SkSLMain.cpp", 14924f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ] 14934f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas deps = [ 14944f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ":flags", 14954f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ":skia", 14964f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ] 14974f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas } 14984f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas } 149925c81d4e651b43b8217c365c87d530036529a673mtklein} 1500