BUILD.gn revision 130a118cc68f8f9973e9572356011de378463fea
1c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Copyright 2016 Google Inc. 2c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# 3c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Use of this source code is governed by a BSD-style license that can be 4c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# found in the LICENSE file. 5c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 6cfc4f44aebdd560c600991ad900a4f07c3958c8fMike Kleinimport("gn/android_framework_defines.gni") 78c24f4fae3389b9937eb73128e76226cffebdd72mikejurkaimport("gn/shared_sources.gni") 8b944728b93a1623d73be31413a6798e0b7dddc16brettw 93e8012e74f70bf49427a7422f9e5996c9882d4f3mtkleinif (!defined(is_skia_standalone)) { 103e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein is_skia_standalone = false 113e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein} 123e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein 13c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() { 14c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein skia_use_angle = false 156321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 163cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 17cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 1869f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein skia_use_gdi = false 197d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein skia_use_icu = !is_fuchsia && !is_ios && !is_win # TODO: Windows 206321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 216321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 22eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 2338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein skia_use_lua = false 24a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 2510d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein skia_use_piex = !is_win 266321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 271bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 281bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 2906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 303e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_tools = is_skia_standalone 313e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_vulkan_debug_layers = is_skia_standalone && is_debug 32686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel skia_vulkan_sdk = getenv("VULKAN_SDK") 33c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 3423d73ea5b45cef6cf66ebe912725c4dd947c4767Brian Salomondeclare_args() { 3514b748ddd2a8f0eba9a1b3061980d1174dfc279dJames Robinson skia_use_dng_sdk = 3614b748ddd2a8f0eba9a1b3061980d1174dfc279dJames Robinson !is_fuchsia && !is_win && skia_use_libjpeg_turbo && skia_use_zlib 3710d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein skia_use_sfntly = skia_use_icu 3810d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein 394d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein if (is_android) { 404d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein skia_use_vulkan = defined(ndk_api) && ndk_api >= 24 414d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein } else { 424d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein skia_use_vulkan = skia_vulkan_sdk != "" 434d598a35cd7a9b2bbfd724e7503840e2ad8ee778Mike Klein } 4423d73ea5b45cef6cf66ebe912725c4dd947c4767Brian Salomon} 45789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon 4638925aa37c17c0f54868852b8c3edf373400c742mtklein# Our tools require static linking (they use non-exported symbols). 4738925aa37c17c0f54868852b8c3edf373400c742mtkleinskia_enable_tools = skia_enable_tools && !is_component_build 4806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 49a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 50a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 511211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 5225c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 53fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 541211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 551211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 561211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 581211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 591211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 601211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 611211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 621211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 6325c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 6625c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 681211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 69c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 70c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 72ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines = [] 73ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein if (is_component_build) { 74ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines += [ "SKIA_DLL" ] 75ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein } 76c4cbd74a38232a0e9f1cc1cc8fb826bb06c577a9Mike Klein if (is_fuchsia || is_linux) { 775561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 785561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 79cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 80cfc4f44aebdd560c600991ad900a4f07c3958c8fMike Klein defines += android_framework_defines 81cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 8206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 8306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 8406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 86c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 87c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 88c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 941211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/config", 96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 9825c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 9925c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 100c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 101c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 102c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 103c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 104c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 105c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 1062b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 107c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 108c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 1099e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 1117a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 11319b91531e912283d237435d94516575b28713cbascroggo "third_party/gif", 114c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx", 115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 116150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 117b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth defines = [ 118b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "SK_GAMMA_APPLY_TO_A8", 119b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "SK_INTERNAL", 120b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ] 121b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 122b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 123b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 124b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 125b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 126b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 12788a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 12888a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 12988a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 13088a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 131789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon libs = [] 132789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon lib_dirs = [] 133789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_use_vulkan) { 134ab563d471960b0bd5d3ed22dd604bc92521ffe01Greg Daniel if (skia_vulkan_sdk != "" && !is_android) { 135487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 136487bfc26f93821548b4f02269aacc4843b259a23Mike Klein include_dirs += [ "$skia_vulkan_sdk/Include/" ] 137487bfc26f93821548b4f02269aacc4843b259a23Mike Klein lib_dirs += [ "$skia_vulkan_sdk/Bin" ] 138487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } else { 139686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel include_dirs += [ "$skia_vulkan_sdk/include/" ] 140686bb21f3ed19218a85e94798fe50e240e3fac08Greg Daniel lib_dirs += [ "$skia_vulkan_sdk/lib/" ] 141487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } 142487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } 143487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 144487bfc26f93821548b4f02269aacc4843b259a23Mike Klein libs += [ "vulkan-1.lib" ] 145487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } else { 146487bfc26f93821548b4f02269aacc4843b259a23Mike Klein libs += [ "vulkan" ] 147789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 148789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 149c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 150c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 151c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 152c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 153c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 154c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 155c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 156c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 157c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 158c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 159c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 160c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 161c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 162c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1639b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1649b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1659b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1669b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1679b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1689b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1699b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1709b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1719b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1729b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1739b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1749b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1759b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1769b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1779b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1789b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1799b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1809b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 181a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 182a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 183422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 184c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1857d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1867d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 187b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 188b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 189b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 190b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1917d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 192b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 193b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 1947d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 195b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 196b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 197b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 198b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 199b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 200b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 201b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 202b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 203b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 204b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 205b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 206b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 207b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 208b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 2099b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 2109b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 211b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 212d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 213d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2" ] 214d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2153eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse2" ] 2163eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2179b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2184e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2199b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 2209b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 221b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 222d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 223d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSSE3" ] 224d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2253eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mssse3" ] 2263eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2279b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2284e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2299b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 2309b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 231b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 232d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 233d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE41" ] 234d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2353eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.1" ] 2363eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2379b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 238c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 2399b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 2409b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 241b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 242d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 243d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE42" ] 244d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2453eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.2" ] 2463eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2479b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2489b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 2499b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 2509b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 251b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 2523eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 25317b6e487b71b7ed541d3239f194e121fbe8efd1dMike Klein cflags = [ "/arch:AVX" ] 2543eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2553eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mavx" ] 2563eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 257c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 258c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 25978d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Kleinopts("hsw") { 26078d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein enabled = is_x86 26178d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein sources = skia_opts.hsw_sources 2623eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 26317b6e487b71b7ed541d3239f194e121fbe8efd1dMike Klein cflags = [ "/arch:AVX2" ] 2643eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2653eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ 2663eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mavx2", 2673eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi", 2683eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi2", 2693eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mf16c", 2703eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mfma", 2713eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein ] 2723eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 27378d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein} 27478d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein 275349cecefe21e2b45acc201290cc4e4fa93b4ad76mtkleinopts("dsp") { 276349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein enabled = current_cpu == "mipsel" 277b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.mips_dsp_sources 278b6064ef5b822ebc14d62170bd4ffa2f7c9bfbe4dmtklein cflags = [] 279349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein} 280349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein 281c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 282457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 283457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 284457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 285cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 286cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 287cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 288457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 289457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 290cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 291cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 292cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 293cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 294cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 295f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "configs_to_remove", 296cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 297457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 2989b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 299f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo if (defined(invoker.configs_to_remove)) { 300f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo configs -= invoker.configs_to_remove 301f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo } 302457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 303457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 304457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 305457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 306457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 307457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 308457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 309457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 3106ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 311457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 312cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 313f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "configs_to_remove", 314457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 315cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 316cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 317cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 318cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 319457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 320eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 321eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 322457b42a6398020c3791f62f8c8637653e0d39bccmtklein 323a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 324a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 325a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 326a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 327a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 328a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 329a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 330a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 331a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 332a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 333a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 334a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 335a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 336a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 337d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 338d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 339d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 340d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 341d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 342d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 343d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 344d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 345d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 346d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 347d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 348d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 3493cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 3503cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 3513cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3523cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3533cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 3543cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3553cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3563cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3571ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 3583cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 3593cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 3603cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 3613cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 3623cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 3633cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3643cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3653cc22180561ae17a64ff0e0f9ba173eac149009emtklein 366cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 367cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 368cdedd0e061f3f50cd217638c28b27d798d930896mtklein 369cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 370cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 371cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 372cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 373cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 374cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 375cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 376cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 377cdedd0e061f3f50cd217638c28b27d798d930896mtklein 37806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 37906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 380e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 381e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 38206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 38306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 38406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 38506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 38606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 38706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 38806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 38906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 390703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs = [] 39106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 39206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 39306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 39406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 39506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 39606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 397130a118cc68f8f9973e9572356011de378463feaChinmay Garde } else if (is_ios) { 398130a118cc68f8f9973e9572356011de378463feaChinmay Garde sources += [ "src/gpu/gl/iOS/GrGLCreateNativeInterface_iOS.cpp" ] 399703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein } else if (is_win) { 400703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein sources += [ "src/gpu/gl/win/GrGLCreateNativeInterface_win.cpp" ] 401703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs += [ "OpenGL32.lib" ] 40206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 40306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 40406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 405e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 406e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 407e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 408e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 409e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 410e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 411e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 412e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 41306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 41406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 4156321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 4166321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 4176321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 4186321381d18f9d478598c0996c1380633003961ddmtklein 4196321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4206321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 4216321381d18f9d478598c0996c1380633003961ddmtklein ] 4226321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4236321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 4246321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 4256321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 4266321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 4276321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 4286321381d18f9d478598c0996c1380633003961ddmtklein ] 4296321381d18f9d478598c0996c1380633003961ddmtklein} 4306321381d18f9d478598c0996c1380633003961ddmtklein 4316321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 4326321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_zlib 4336321381d18f9d478598c0996c1380633003961ddmtklein 4346321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4356321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 4366321381d18f9d478598c0996c1380633003961ddmtklein ] 437b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 438cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 4396321381d18f9d478598c0996c1380633003961ddmtklein 4406321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 4416321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 442cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein public_defines = [ "SK_PDF_USE_SFNTLY" ] 4436321381d18f9d478598c0996c1380633003961ddmtklein } 4446321381d18f9d478598c0996c1380633003961ddmtklein} 4456321381d18f9d478598c0996c1380633003961ddmtklein 4466321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 4476321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 4486321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 4496321381d18f9d478598c0996c1380633003961ddmtklein 4506321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4516321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 4526321381d18f9d478598c0996c1380633003961ddmtklein ] 4536321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4546321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 4556321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 4566321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 4576321381d18f9d478598c0996c1380633003961ddmtklein ] 4586321381d18f9d478598c0996c1380633003961ddmtklein} 4596321381d18f9d478598c0996c1380633003961ddmtklein 460f84ad646f94ee959eb17d05f072935edd1ad14fdscroggooptional("raw") { 46110d665d000cfdce693b7ca088fb2c61ed54bcdfbMike Klein enabled = skia_use_dng_sdk && skia_use_libjpeg_turbo && skia_use_piex 462f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo public_defines = [ "SK_CODEC_DECODES_RAW" ] 463f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 464f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo deps = [ 465f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/dng_sdk", 466f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/libjpeg-turbo:libjpeg", 467f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "//third_party/piex", 468f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ] 469f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 470f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo # SkRawCodec catches any exceptions thrown by dng_sdk, insulating the rest of 471f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo # Skia. 472f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo configs_to_remove = [ "//gn:no_exceptions" ] 473f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 474f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo sources = [ 475f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "src/codec/SkRawAdapterCodec.cpp", 476f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo "src/codec/SkRawCodec.cpp", 477f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ] 478f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo} 479f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo 4803cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 4813cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 4823cc22180561ae17a64ff0e0f9ba173eac149009emtklein 4833cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 4843cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 4853cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 4863cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 4873cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 4883cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 4893cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 4903cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 4913cc22180561ae17a64ff0e0f9ba173eac149009emtklein 492457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 493457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 494457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 495457b42a6398020c3791f62f8c8637653e0d39bccmtklein 496457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 497457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 498457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 499457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 500457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 501457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 502457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 503457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 504457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 505eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 5066321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 5076321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 508442fff958c911bbc354a56003e3a8d75805c45f6Florin Malita public_defines = [ "SK_XML" ] 5096321381d18f9d478598c0996c1380633003961ddmtklein 5106321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 5116321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 5126321381d18f9d478598c0996c1380633003961ddmtklein ] 5136321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 5146321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 5156321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 5166321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 5176321381d18f9d478598c0996c1380633003961ddmtklein ] 5186321381d18f9d478598c0996c1380633003961ddmtklein} 5196321381d18f9d478598c0996c1380633003961ddmtklein 520c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 521c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 522c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 523c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 524c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 525b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 526b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 5279b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 528b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 529349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein ":dsp", 530a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 531d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 5323cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 533cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 53406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 53578d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein ":hsw", 5366321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 5379b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 5386321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 5396321381d18f9d478598c0996c1380633003961ddmtklein ":png", 540f84ad646f94ee959eb17d05f072935edd1ad14fdscroggo ":raw", 5419b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 5429b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 5439b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 5449b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 5453cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 546eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 5476321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 548c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 549c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 55043f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # This file (and all GN files in Skia) are designed to work with an 55143f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # empty sources assignment filter; we handle all that explicitly. 55243f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde # We clear the filter here for clients who may have set up a global filter. 55343f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde set_sources_assignment_filter([]) 55443f115cef45f4471ad4db30503b96530c7ad44a9Chinmay Garde 555c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 556b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 557b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 558b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 559b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 560c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 56125c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 56225c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 56325c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 5641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 5651211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 5661211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 5671211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 5681211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 5691211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 57019b91531e912283d237435d94516575b28713cbascroggo "src/codec/SkGifCodec.cpp", 5711211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 5721211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 57325c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 5741211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 57519b91531e912283d237435d94516575b28713cbascroggo "src/codec/SkStreamBuffer.cpp", 5761211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 5771211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 578c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 579c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder_Factory.cpp", 5802b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/images/SkKTXImageEncoder.cpp", 581c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 582c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 5831211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 584c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 585c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 586c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 587c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 58825c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 58925c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 590c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 591c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 5923d3a65c488162ef1db0b35adf3235d012b04c88dscroggo "third_party/gif/SkGifImageReader.cpp", 593c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx/ktx.cpp", 594c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 595b944728b93a1623d73be31413a6798e0b7dddc16brettw 5967d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 5977d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 598c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 599c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 600ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein "src/fonts/SkFontMgr_indirect.cpp", 601c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 602c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 603c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 604c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 605c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 606c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 607605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_win.cpp", 608c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 609c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 610c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 61125c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS.cpp", 6124b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "src/xps/SkXPSDevice.cpp", 613c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 61469f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein if (skia_use_gdi) { 61569f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_gdi_factory.cpp" ] 61669f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein libs += [ 61769f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Gdi32.lib", 61869f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Usp10.lib", 61969f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein ] 62069f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } else { 62169f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_dw_factory.cpp" ] 62269f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } 623b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 624b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 6254b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 6264b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "FontSub.lib", 6274b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Ole32.lib", 6284b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OleAut32.lib", 6294b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "User32.lib", 6304b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 631c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 632c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 633c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 634605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_posix.cpp", 635c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 63625c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS_None.cpp", 637c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 638c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 639c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 6407d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 6417d6fb2c92d096ac3630e23d561a4077a974a815cmtklein deps += [ 6427d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/cpu-features", 6437d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/expat", 6447d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 64506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 6467d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 6477d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 6487d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 6497d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 6507d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 6517d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 6527d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 653c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 65409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 65509e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 65609e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 65709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 65809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 65906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 660c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 661c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 662c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 663c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 6647d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 665c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 666c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 667c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 668c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 66909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 67009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 67109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 67209e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 673c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 6746fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 6757d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (is_ios) { 6767d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources += [ 6777d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkDebug_stdio.cpp", 6787d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkFontHost_mac.cpp", 6797d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkImageEncoder_CG.cpp", 6807d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "src/ports/SkImageGeneratorCG.cpp", 6817d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 6827d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein libs += [ 6837d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreFoundation.framework", 6847d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreGraphics.framework", 6857d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "CoreText.framework", 6867d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "ImageIO.framework", 6877d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "MobileCoreServices.framework", 6887d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 6897d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } 6907d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein 6916fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 69206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 6936fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 694c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 695c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 696c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein# Targets guarded by skia_enable_tools may use //third_party freely. 697c36dedf613b09cc5e2286b2f0602c73722c85958Mike Kleinif (skia_enable_tools) { 698c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein config("skia.h_config") { 699c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein include_dirs = [ "$target_gen_dir" ] 700c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 701c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein action("skia.h") { 702c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein public_configs = [ ":skia.h_config" ] 703c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein skia_h = "$target_gen_dir/skia.h" 704c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein script = "gn/find_headers.py" 705c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein args = [ rebase_path(skia_h, root_build_dir) ] + 706c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein rebase_path(skia_public_includes) 707c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein depfile = "$skia_h.deps" 708c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein outputs = [ 709c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein skia_h, 710c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 711c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 7121211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 713c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (skia_enable_gpu && target_cpu == "x64") { 714c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein # Our bots only have 64-bit libOSMesa installed. 715c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein # TODO: worth fixing? 716c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein executable("fiddle") { 717c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein libs = [] 718c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (is_linux) { 719c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein libs += [ "OSMesa" ] 720c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 72156d5669095feca663e9e05f4621146abeee626ecmtklein 722c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein sources = [ 723c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "src/images/SkForceLinking.cpp", 724c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/fiddle/draw.cpp", 725c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/fiddle/fiddle_main.cpp", 726c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 727c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein deps = [ 728c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia", 729c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia.h", 730c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 731c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 7321fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 73325c81d4e651b43b8217c365c87d530036529a673mtklein 734c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein if (skia_enable_gpu) { 735c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein source_set("public_headers_warnings_check") { 736c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein sources = [ 737c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein "tools/public_headers_warnings_check.cpp", 738c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 739c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein configs -= [ "//gn:warnings_except_public_headers" ] 740c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein deps = [ 741c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia", 742c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ":skia.h", 743c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein ] 744c36dedf613b09cc5e2286b2f0602c73722c85958Mike Klein } 74550500ad470af3d82c68144fec7e55c9cdffb5d98Mike Klein } 74650500ad470af3d82c68144fec7e55c9cdffb5d98Mike Klein 747c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 748c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 749c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 750a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 751a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 752a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 753c095df55e86e7126b0582856720bb9177b553ff1mtklein } 754c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 755c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 756c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 757c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 758c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 759c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 760c095df55e86e7126b0582856720bb9177b553ff1mtklein 761c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 762c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 763c095df55e86e7126b0582856720bb9177b553ff1mtklein } 764c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 765c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 766c095df55e86e7126b0582856720bb9177b553ff1mtklein } 76725c81d4e651b43b8217c365c87d530036529a673mtklein } 768c095df55e86e7126b0582856720bb9177b553ff1mtklein 769c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 77038925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 77138925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 77238925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 77338925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 774d68f9b00389bf676b171f250e684486cb2fbd404mtklein 775d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps = [] 77638925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 77738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 77838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 77938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 78038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 781605d95289379a07aad50b38ca6badbee45813d56mtklein "tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp", 78238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 78338925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 78438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 78538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 78638925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 78738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 78838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 78938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 79038925aa37c17c0f54868852b8c3edf373400c742mtklein ] 79138925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 79238925aa37c17c0f54868852b8c3edf373400c742mtklein 79338925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 79438925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 7957d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } else if (is_ios) { 7967d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources += [ "tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm" ] 7977d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein libs += [ "OpenGLES.framework" ] 79838925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 79938925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 80038925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 80138925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 8024b167fc8503d8b4887346c5054fc2cc93428846dMike Klein } else if (is_win) { 8034b167fc8503d8b4887346c5054fc2cc93428846dMike Klein sources += [ "tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp" ] 8044b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 8054b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Gdi32.lib", 8064b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OpenGL32.lib", 8074b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 80838925aa37c17c0f54868852b8c3edf373400c742mtklein } 809238b820369c4b556c2e7c8277855e6950de3d9ebBrian Salomon 810c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein if (skia_use_angle) { 811c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein public_defines += [ "SK_ANGLE" ] 812c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein deps += [ "//third_party/angle2" ] 813c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ] 814c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein } 81538925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 81638925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 81738925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 81838925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 81938925aa37c17c0f54868852b8c3edf373400c742mtklein } 820d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_vulkan) { 821d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 822d68f9b00389bf676b171f250e684486cb2fbd404mtklein } 823a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 82425c81d4e651b43b8217c365c87d530036529a673mtklein } 82525c81d4e651b43b8217c365c87d530036529a673mtklein 826c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 827c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 828c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 829c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 830046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 831046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 832046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 833046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 834046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 835c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 836c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 837c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 838c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 839046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 840c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 841c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 84225c81d4e651b43b8217c365c87d530036529a673mtklein } 84325c81d4e651b43b8217c365c87d530036529a673mtklein 844c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 845c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 846c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 847c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 848c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 849c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 850c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 851c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/images/SkForceLinking.cpp", 852c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 853b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 854c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 8550590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 856c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 857c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 858c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 859c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 860c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 861c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 862c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 863c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 864c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 865c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 866c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 867c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 868c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 869c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 870c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 871046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 872c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 873c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 874c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 875c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 876c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 877c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 878c095df55e86e7126b0582856720bb9177b553ff1mtklein } 87925c81d4e651b43b8217c365c87d530036529a673mtklein 8806e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/gm.gni") 881c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 882c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 883c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 884c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 88519b91531e912283d237435d94516575b28713cbascroggo ":flags", 886c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 887c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 888c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 889c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 890c095df55e86e7126b0582856720bb9177b553ff1mtklein } 89125c81d4e651b43b8217c365c87d530036529a673mtklein 8926e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/tests.gni") 893c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 894c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 8956e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = tests_sources + pathops_tests_sources 896a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 8976e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources -= [ "//tests/FontMgrAndroidParserTest.cpp" ] 898a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 899c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 9006cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 901c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 902c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 903c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 904c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 905c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 906c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 907c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 908c095df55e86e7126b0582856720bb9177b553ff1mtklein } 9092f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 9106e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/bench.gni") 911c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 912c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 913c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 914c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 915c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 916c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 917c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 918c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 919c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 920c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 921c095df55e86e7126b0582856720bb9177b553ff1mtklein } 9222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 923c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 924c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 925c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 926c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 927c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 928c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 929c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 930c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 931c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 932c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 93328d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 934c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 935c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 936c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 937c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 938c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 939c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 940c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 94128d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 942c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 943c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 944c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 945c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 946c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 947c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 948c095df55e86e7126b0582856720bb9177b553ff1mtklein } 949a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 95016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("views") { 95116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "include/views" ] 95216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 95316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEvent.cpp", 95416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEventSink.cpp", 95516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkOSMenu.cpp", 95616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTagList.cpp", 95716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTouchGesture.cpp", 95816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkView.cpp", 95916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkViewPriv.cpp", 96016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 96116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs = [] 96216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (!is_android) { 96316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/SkWindow.cpp" ] 96416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 9654e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_linux) { 9662dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman public_include_dirs += [ "src/views/unix" ] 9672dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 9682dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/SkOSWindow_Unix.cpp", 9692dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/keysym2ucs.c", 9702dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 97116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_mac) { 97216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 97316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkEventNotifier.mm", 97416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkNSView.mm", 97516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkOSWindow_Mac.mm", 97616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkTextFieldCell.m", 97716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 97816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs += [ 97916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "QuartzCore.framework", 98016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Cocoa.framework", 98116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Foundation.framework", 98216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 98316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_win) { 98416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/win/SkOSWindow_win.cpp" ] 98516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 98616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 98716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 98838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein if (skia_use_lua) { 98938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein test_lib("lua") { 99038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein public_include_dirs = [] 99138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 99238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "src/utils/SkLua.cpp", 99338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "src/utils/SkLuaCanvas.cpp", 99438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 99538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 99638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 99738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 99838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 99938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 100038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein executable("lua_app") { 100138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 100238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "tools/lua/lua_app.cpp", 100338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 100438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 100538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 100638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":skia", 100738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 100838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 100938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein testonly = true 101038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 101138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 101238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein executable("lua_pictures") { 101338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources = [ 101438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "tools/lua/lua_pictures.cpp", 101538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 101638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps = [ 101738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":flags", 101838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 101938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":skia", 102038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":tool_utils", 102138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 102238af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 102338af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein testonly = true 102438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 102538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 102638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 10276e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein import("gn/samples.gni") 102816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("samples") { 102916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "samplecode" ] 10306e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein include_dirs = [ "experimental" ] 10316e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = samples_sources + [ 10326e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp", 10336e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3.cpp", 10346e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3_A.cpp", 10356e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein "experimental/SkSetPoly3To3_D.cpp", 10366e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein ] 103716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 103816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":experimental_svg_model", 10396e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein ":gm", 104016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 104116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 104216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":xml", 104316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 104438af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein 104538af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein if (skia_use_lua) { 104638af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein sources += [ "samplecode/SampleLua.cpp" ] 104738af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein deps += [ 104838af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ":lua", 104938af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein "//third_party/lua", 105038af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein ] 105138af9438d7b7fa838aff2931d9afb4dd4a82549dMike Klein } 105216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 105316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 10542b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("dm") { 10552b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 10562b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 10572b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 10582b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 10592b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 10602b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 10612b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 1062046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 1063a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 10642b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 10652b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 10662b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 10672b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 10682f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 10692b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 10702b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 10712b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 10722b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 10732b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 10742b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 10752b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 1076a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein if (!is_debug) { # I've benchmarked debug code once too many times... 1077a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein executable("monobench") { 1078a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein sources = [ 1079a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein "tools/monobench.cpp", 1080a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1081a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein deps = [ 1082a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":bench", 1083a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":skia", 1084a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1085a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein testonly = true 1086a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein } 10872b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 10882b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 10892b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("nanobench") { 10902b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 10912b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 10922b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 10932b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 10942b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 1095046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 10966519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 10972b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 10982b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 10992b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 11002b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 11012b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 11022b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 11032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 11042b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 11052b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 110619a9720978700a24efed8dda7e0935ea2b7338c4halcanary 110757a98fc4d595875ca75f906acec8ba508dcb5248Jim Van Verth if (is_linux || is_win || is_mac) { 1108b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth executable("SampleApp") { 110938925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 1110b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "samplecode/SampleApp.cpp", 1111b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth "samplecode/SamplePictFile.cpp", 111238925aa37c17c0f54868852b8c3edf373400c742mtklein ] 1113b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth if (is_mac) { 1114b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/mac/skia_mac.mm" ] 1115b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } else if (is_win) { 1116b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/win/skia_win.cpp" ] 1117b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } else if (is_linux) { 1118b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth sources += [ "src/views/unix/skia_unix.cpp" ] 1119b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } 112038925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 112138925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 1122b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":gm", 112338925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 1124b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":samples", 112538925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 112638925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 1127b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth ":views", 112838925aa37c17c0f54868852b8c3edf373400c742mtklein ] 1129c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein if (skia_use_angle) { 1130c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein deps += [ "//third_party/angle2" ] 1131c168a3ac3cb96555011c73938f71f8183990ab46Mike Klein } 113238925aa37c17c0f54868852b8c3edf373400c742mtklein testonly = true 113338925aa37c17c0f54868852b8c3edf373400c742mtklein } 11348f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth } 1135b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth 11368f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth if (skia_enable_gpu) { 11378f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth executable("skpbench") { 11388f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth sources = [ 11398f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth "tools/skpbench/skpbench.cpp", 11408f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ] 11418f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth deps = [ 11428f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":flags", 11438f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":gpu_tool_utils", 11448f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":skia", 11458f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ":tool_utils", 11468f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth ] 11478f5468f0221a987f7bc6565d2cae255372863a2dJim Van Verth testonly = true 1148b6c5e5379605627fb2bdb49b62141291fca20824Jim Van Verth } 11494b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 11504b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 11517d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein # We can't yet build ICU on iOS or Windows. 11527d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (!is_ios && !is_win) { 11533eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf-hb") { 11546f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 11556f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 11566f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 11576f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 11586f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 11596f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 11606f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 11616f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 11626f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein testonly = true 11636f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 116419a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 11653eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf") { 11663eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 11673eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 11683eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 11693eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 11703eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 11713eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 11723eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 11733eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary testonly = true 11743eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 1175046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 1176046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein executable("get_images_from_skps") { 1177046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 1178046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 1179046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1180046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 1181046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 1182046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 1183046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 1184046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1185046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein testonly = true 1186046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 1187ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein 11888740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett executable("colorspaceinfo") { 11898740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett sources = [ 11908740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett "tools/colorspaceinfo.cpp", 11918740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ] 11928740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett deps = [ 11938740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":flags", 11948740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":skia", 11958740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ":tool_utils", 11968740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett ] 11978740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett testonly = true 11988740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett } 11998740d5802b27b0786f2b51eef65f500b2a6f6351Matt Sarett 12007d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein if (!is_ios) { 12017d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein executable("skiaserve") { 12027d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein sources = [ 12037d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/Request.cpp", 12047d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/Response.cpp", 12057d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/skiaserve.cpp", 12067d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/BatchBoundsHandler.cpp", 12077d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/BatchesHandler.cpp", 12087d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/BreakHandler.cpp", 12097d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ClipAlphaHandler.cpp", 12107d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/CmdHandler.cpp", 12117d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ColorModeHandler.cpp", 12127d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/DataHandler.cpp", 12137d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/DownloadHandler.cpp", 12147d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/EnableGPUHandler.cpp", 12157d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/ImgHandler.cpp", 12167d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/InfoHandler.cpp", 12177d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/OverdrawHandler.cpp", 12187d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/PostHandler.cpp", 12197d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/QuitHandler.cpp", 12207d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "tools/skiaserve/urlhandlers/RootHandler.cpp", 12217d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 12227d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein deps = [ 12237d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":flags", 12247d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":gpu_tool_utils", 12257d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":skia", 12267d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ":tool_utils", 12277d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/jsoncpp", 12287d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/libmicrohttpd", 12297d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein "//third_party/libpng", 12307d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein ] 12317d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein testonly = true 12327d3028818ec1b6a653da45387ddf0fa01888cddaMike Klein } 1233ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein } 123414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick 123514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick executable("fuzz") { 123614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick sources = [ 123714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FilterFuzz.cpp", 1238fec1dea8098fe09f04fff542efdb83edc1fe8240Kevin Lubick "fuzz/FuzzDrawFunctions.cpp", 123914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzGradients.cpp", 124014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzParsePath.cpp", 124114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzPathop.cpp", 124214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzScaleToSides.cpp", 124314f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/fuzz.cpp", 124414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 124514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick deps = [ 124614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":flags", 124714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":skia", 1248db6830162eca5b94e61d9825ec93306fc615d204Hal Canary ":tool_utils", 124914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 125014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick testonly = true 125114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick } 12523831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein 12539feb6326d0c5407247ed1e3d8fade2f86b233001caryclark executable("pathops_unittest") { 12546e74412a9cf1ffa44271a55b42f18e8a0813a0a2Mike Klein sources = pathops_tests_sources + [ 12556e55fef07fce151bce187eabc59924ca60b3310aMike Klein rebase_path("tests/skia_test.cpp"), 12566e55fef07fce151bce187eabc59924ca60b3310aMike Klein rebase_path("tests/Test.cpp"), 12576e55fef07fce151bce187eabc59924ca60b3310aMike Klein ] 12589feb6326d0c5407247ed1e3d8fade2f86b233001caryclark deps = [ 12599feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":flags", 12609feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":gpu_tool_utils", 12619feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":skia", 12629feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ":tool_utils", 12639feb6326d0c5407247ed1e3d8fade2f86b233001caryclark ] 12649feb6326d0c5407247ed1e3d8fade2f86b233001caryclark testonly = true 12659feb6326d0c5407247ed1e3d8fade2f86b233001caryclark } 12669feb6326d0c5407247ed1e3d8fade2f86b233001caryclark 12673831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein executable("dump_record") { 12683831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein sources = [ 12693831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/DumpRecord.cpp", 12703831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/dump_record.cpp", 12713831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 12723831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein deps = [ 12733831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":flags", 12743831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":skia", 12753831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 12763831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein testonly = true 12773831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein } 1278fe9172705791848ebfe5b5630973b7e67305f64cbungeman 1279fe9172705791848ebfe5b5630973b7e67305f64cbungeman executable("skdiff") { 1280fe9172705791848ebfe5b5630973b7e67305f64cbungeman sources = [ 1281fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff.cpp", 1282fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_html.cpp", 1283fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_main.cpp", 1284fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_utils.cpp", 1285fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1286fe9172705791848ebfe5b5630973b7e67305f64cbungeman deps = [ 1287fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":skia", 1288fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":tool_utils", 1289fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1290fe9172705791848ebfe5b5630973b7e67305f64cbungeman testonly = true 1291fe9172705791848ebfe5b5630973b7e67305f64cbungeman } 1292a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary 1293a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary executable("skp_parser") { 1294a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary sources = [ 1295a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "tools/skp_parser.cpp", 1296a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1297a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary deps = [ 1298a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":skia", 1299a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":tool_utils", 1300a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "//third_party/jsoncpp", 1301a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1302a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary testonly = true 1303a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary } 130416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 130543c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein if (skia_enable_gpu && (is_linux || is_win || is_mac)) { 130616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman executable("viewer") { 130716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 130816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/GMSlide.cpp", 130916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/ImageSlide.cpp", 131016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SKPSlide.cpp", 131116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SampleSlide.cpp", 131216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/Viewer.cpp", 131316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/CommandSet.cpp", 131416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/GLWindowContext.cpp", 131516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/Window.cpp", 131616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/WindowContext.cpp", 131716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 13182dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs = [] 131916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 13204e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 13214e56a91393733359ba19967a78df26184e53854eJim Van Verth sources += [ 13224e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/GLWindowContext_android.cpp", 13234e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/RasterWindowContext_android.cpp", 13244e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/Window_android.cpp", 13254e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/main_android.cpp", 13264e56a91393733359ba19967a78df26184e53854eJim Van Verth "tools/viewer/sk_app/android/surface_glue_android.cpp", 13274e56a91393733359ba19967a78df26184e53854eJim Van Verth ] 13284e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_linux) { 13292dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 13302dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/GLWindowContext_unix.cpp", 13312dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/RasterWindowContext_unix.cpp", 13322dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/Window_unix.cpp", 13332dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/main_unix.cpp", 13342dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 13352dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 133616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 133716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/GLWindowContext_win.cpp", 133816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/RasterWindowContext_win.cpp", 133916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/Window_win.cpp", 134016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/main_win.cpp", 134116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 134243c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein } else if (is_mac) { 134343c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein sources += [ 134443c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/GLWindowContext_mac.cpp", 134543c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/RasterWindowContext_mac.cpp", 134643c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/Window_mac.cpp", 134743c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein "tools/viewer/sk_app/mac/main_mac.cpp", 134843c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein ] 134916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 135016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 135116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (skia_use_vulkan) { 135216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/VulkanWindowContext.cpp" ] 13534e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 13544e56a91393733359ba19967a78df26184e53854eJim Van Verth sources += 13554e56a91393733359ba19967a78df26184e53854eJim Van Verth [ "tools/viewer/sk_app/android/VulkanWindowContext_android.cpp" ] 13564e56a91393733359ba19967a78df26184e53854eJim Van Verth libs += [ "android" ] 13574e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_linux) { 13582dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ "tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp" ] 13592dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs += [ "X11-xcb" ] 13602dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 136116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/win/VulkanWindowContext_win.cpp" ] 136216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 136316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 136416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 136516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman include_dirs = [] 136616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 136716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":flags", 136816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gm", 136916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gpu_tool_utils", 137016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":samples", 137116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":skia", 137216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 137316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 137416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "//third_party/jsoncpp", 137516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 13764e56a91393733359ba19967a78df26184e53854eJim Van Verth if (is_android) { 13774e56a91393733359ba19967a78df26184e53854eJim Van Verth deps += [ "//third_party/native_app_glue" ] 13784e56a91393733359ba19967a78df26184e53854eJim Van Verth } else if (is_mac) { 137943c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein deps += [ "//third_party/libsdl" ] 138043c2526665fb0c5a2f8c5793b9326ebf4ef3dacaMike Klein } 138116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman testonly = true 138216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 138316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 13844f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas 13854f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas if (skia_enable_gpu) { 13864f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas executable("skslc") { 13874f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas sources = [ 13884f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas "src/sksl/SkSLMain.cpp", 13894f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ] 13904f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas deps = [ 13914f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ":flags", 13924f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ":skia", 13934f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas ] 13944f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas testonly = true 13954f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas } 13964f3985c636542e46fedddf736401d74c70ba7384Ethan Nicholas } 139725c81d4e651b43b8217c365c87d530036529a673mtklein} 1398