BUILD.gn revision d8765e3455ff3f99cc733f01f8d10d4b0939bbd5
1c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Copyright 2016 Google Inc. 2c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# 3c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Use of this source code is governed by a BSD-style license that can be 4c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# found in the LICENSE file. 5c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 68c24f4fae3389b9937eb73128e76226cffebdd72mikejurkaimport("gn/shared_sources.gni") 7b944728b93a1623d73be31413a6798e0b7dddc16brettw 83e8012e74f70bf49427a7422f9e5996c9882d4f3mtkleinif (!defined(is_skia_standalone)) { 93e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein is_skia_standalone = false 103e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein} 113e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein 12c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() { 13d68f9b00389bf676b171f250e684486cb2fbd404mtklein skia_use_angle = false 146321381d18f9d478598c0996c1380633003961ddmtklein skia_use_expat = true 153cc22180561ae17a64ff0e0f9ba173eac149009emtklein skia_use_fontconfig = is_linux 16cdedd0e061f3f50cd217638c28b27d798d930896mtklein skia_use_freetype = is_android || is_fuchsia || is_linux 1769f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein skia_use_gdi = false 18457b42a6398020c3791f62f8c8637653e0d39bccmtklein skia_use_giflib = !is_fuchsia 196321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libjpeg_turbo = true 206321381d18f9d478598c0996c1380633003961ddmtklein skia_use_libpng = true 21eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein skia_use_libwebp = !is_fuchsia 22a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein skia_use_mesa = false 23ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein skia_use_sfntly = !is_fuchsia && !is_win # TODO: icu on Windows, re-enable this. 24f29180e65afdd3bd5ff3c1a2f8d456f9aea125edmtklein skia_use_vulkan = is_android && defined(ndk_api) && ndk_api >= 24 256321381d18f9d478598c0996c1380633003961ddmtklein skia_use_zlib = true 261bd72ba2cb349788223e3e7304f25751c87f1f95mtklein 271bd72ba2cb349788223e3e7304f25751c87f1f95mtklein skia_enable_android_framework_defines = false 2806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein skia_enable_gpu = true 293e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_tools = is_skia_standalone 303e8012e74f70bf49427a7422f9e5996c9882d4f3mtklein skia_enable_vulkan_debug_layers = is_skia_standalone && is_debug 31789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon skia_vulkan_sdk = "" 32c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 33c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 34789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomonskia_use_vulkan = skia_use_vulkan || skia_vulkan_sdk != "" 35789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon 3638925aa37c17c0f54868852b8c3edf373400c742mtklein# Our tools require static linking (they use non-exported symbols). 3738925aa37c17c0f54868852b8c3edf373400c742mtkleinskia_enable_tools = skia_enable_tools && !is_component_build 3806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 39a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinfontmgr_android_enabled = skia_use_expat && skia_use_freetype 40a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 411211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [ 4225c81d4e651b43b8217c365c87d530036529a673mtklein "include/android", 43fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein "include/c", 441211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/codec", 451211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/config", 461211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/core", 471211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/effects", 481211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu", 491211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/gpu/gl", 501211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/images", 511211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/pathops", 521211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/ports", 5325c81d4e651b43b8217c365c87d530036529a673mtklein "include/svg", 541211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils", 551211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "include/utils/mac", 5625c81d4e651b43b8217c365c87d530036529a673mtklein "include/xml", 571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein] 581211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 59c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia. 60c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") { 611211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein include_dirs = skia_public_includes 62ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines = [] 63ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein if (is_component_build) { 64ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein defines += [ "SKIA_DLL" ] 65ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein } 66c4cbd74a38232a0e9f1cc1cc8fb826bb06c577a9Mike Klein if (is_fuchsia || is_linux) { 675561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio defines += [ "SK_SAMPLES_FOR_X" ] 685561e3ddbbf6c3e051075ada4a11ddc70760f03djcgregorio } 69cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein if (skia_enable_android_framework_defines) { 70cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein defines += skia_android_framework_defines 71cae1be5acc8148fc5cbadd8730ee7994e50a1a47mtklein } 7206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (!skia_enable_gpu) { 7306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein defines += [ "SK_SUPPORT_GPU=0" ] 7406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 76c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 77c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools. 78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") { 79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 80c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 81c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein include_dirs = [ 82c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "include/private", 83c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/c", 841211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec", 85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/config", 86c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/core", 87c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/effects", 8825c81d4e651b43b8217c365c87d530036529a673mtklein "src/effects/gradients", 8925c81d4e651b43b8217c365c87d530036529a673mtklein "src/fonts", 90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/gpu", 91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/image", 92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images", 93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/lazy", 94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/opts", 95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/pathops", 962b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/pdf", 97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports", 98c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt", 999e0d9ddc0ef39e239670b22e5439993c45f4ae42mtklein "src/sksl", 100c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils", 1017a1f45f9e584fef625e764bd5d180a9c4943dcd5mtklein "src/utils/win", 102c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1", 103c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx", 104c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 105150d113db56dc55b5e78f32febfb1e3b7c350611mtklein 1066321381d18f9d478598c0996c1380633003961ddmtklein defines = [ "SK_GAMMA_APPLY_TO_A8" ] 107b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein if (is_android) { 108b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein defines += [ 109b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_EXPONENT=1.4", 110b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "SK_GAMMA_CONTRAST=0.0", 111b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein ] 112b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein } 11388a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein if (is_official_build || is_android) { 11488a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein # TODO(bsalomon): it'd be nice to make Android normal. 11588a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ] 11688a7ac0b2dad4e7d581eae2da19888aec9ba1693mtklein } 117789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon libs = [] 118789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon lib_dirs = [] 119789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_use_vulkan) { 120789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon if (skia_vulkan_sdk != "") { 121487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 122487bfc26f93821548b4f02269aacc4843b259a23Mike Klein include_dirs += [ "$skia_vulkan_sdk/Include/" ] 123487bfc26f93821548b4f02269aacc4843b259a23Mike Klein lib_dirs += [ "$skia_vulkan_sdk/Bin" ] 124487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } else { 125487bfc26f93821548b4f02269aacc4843b259a23Mike Klein include_dirs += [ "$skia_vulkan_sdk/x86_64/include/" ] 126487bfc26f93821548b4f02269aacc4843b259a23Mike Klein lib_dirs += [ "$skia_vulkan_sdk/x86_64/lib/" ] 127487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } 128487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } 129487bfc26f93821548b4f02269aacc4843b259a23Mike Klein if (is_win) { 130487bfc26f93821548b4f02269aacc4843b259a23Mike Klein libs += [ "vulkan-1.lib" ] 131487bfc26f93821548b4f02269aacc4843b259a23Mike Klein } else { 132487bfc26f93821548b4f02269aacc4843b259a23Mike Klein libs += [ "vulkan" ] 133789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 134789e25ea7d0e97bfbcd0e16e8c382fbf39962eb2Brian Salomon } 135c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 136c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 137c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs. 138c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") { 139c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein visibility = [ ":*" ] 140c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein defines = [ "SKIA_IMPLEMENTATION=1" ] 141c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 142c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 143c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [ 144c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_public", 145c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_private", 146c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ":skia_library", 147c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein] 148c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1499b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein# Use for CPU-specific Skia code that needs particular compiler flags. 1509b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleintemplate("opts") { 1519b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein if (invoker.enabled) { 1529b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1539b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, "*") 1549b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 1559b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1569b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } else { 1579b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein # If not enabled, a phony empty target that swallows all otherwise unused variables. 1589b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein source_set(target_name) { 1599b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein forward_variables_from(invoker, 1609b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "*", 1619b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein [ 1629b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "sources", 1639b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein "cflags", 1649b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ]) 1659b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 1669b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein } 167a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal} 168a7eaf2e7e84ff10d1ed76b5d1e039c1a2d931392anmittal 169422310ddbe4db616200a949adcac2c560685030cmtkleinis_x86 = current_cpu == "x64" || current_cpu == "x86" 170c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 1717d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("none") { 1727d6fb2c92d096ac3630e23d561a4077a974a815cmtklein enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64" 173b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.none_sources 174b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 175b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 176b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1777d6fb2c92d096ac3630e23d561a4077a974a815cmtkleinopts("armv7") { 178b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm" 179b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.armv7_sources + skia_opts.neon_sources 1807d6fb2c92d096ac3630e23d561a4077a974a815cmtklein cflags = [] 181b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 182b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 183b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("arm64") { 184b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 185b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.arm64_sources 186b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [] 187b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 188b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 189b8b3f71c5589aaed8ae76727f3d62642a192b359anmittalopts("crc32") { 190b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal enabled = current_cpu == "arm64" 191b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.crc32_sources 192b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal cflags = [ "-march=armv8-a+crc" ] 193b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal} 194b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal 1959b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse2") { 1969b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 197b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse2_sources 198d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 199d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2" ] 200d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2013eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse2" ] 2023eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2039b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2044e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2059b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("ssse3") { 2069b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 207b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.ssse3_sources 208d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 209d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSSE3" ] 210d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2113eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mssse3" ] 2123eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2139b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2144e97607d9a1cef66fac16f347c5ca813ec4f9515mtklein 2159b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse41") { 2169b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 217b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse41_sources 218d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 219d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE41" ] 220d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2213eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.1" ] 2223eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2239b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 224c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 2259b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("sse42") { 2269b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 227b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.sse42_sources 228d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein if (is_win) { 229d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein defines = [ "SK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE42" ] 230d8765e3455ff3f99cc733f01f8d10d4b0939bbd5Mike Klein } else { 2313eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-msse4.2" ] 2323eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 2339b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein} 2349b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein 2359b8583dd1f18657c08eaab047d79288b9f2c61a7mtkleinopts("avx") { 2369b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein enabled = is_x86 237b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.avx_sources 2383eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 2393eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "/arch:AVX" ] 2403eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2413eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "-mavx" ] 2423eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 243c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 244c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 24578d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Kleinopts("hsw") { 24678d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein enabled = is_x86 24778d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein sources = skia_opts.hsw_sources 2483eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein if (is_win) { 2493eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ "/arch:AVX2" ] 2503eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } else { 2513eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein cflags = [ 2523eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mavx2", 2533eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi", 2543eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mbmi2", 2553eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mf16c", 2563eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein "-mfma", 2573eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein ] 2583eb71216d2fb70114417ae8ee9b0c5f5dc650704Mike Klein } 25978d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein} 26078d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein 261349cecefe21e2b45acc201290cc4e4fa93b4ad76mtkleinopts("dsp") { 262349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein enabled = current_cpu == "mipsel" 263b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_opts.mips_dsp_sources 264b6064ef5b822ebc14d62170bd4ffa2f7c9bfbe4dmtklein cflags = [] 265349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein} 266349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein 267c095df55e86e7126b0582856720bb9177b553ff1mtklein# Any feature of Skia that requires third-party code should be optional and use this template. 268457b42a6398020c3791f62f8c8637653e0d39bccmtkleintemplate("optional") { 269457b42a6398020c3791f62f8c8637653e0d39bccmtklein if (invoker.enabled) { 270457b42a6398020c3791f62f8c8637653e0d39bccmtklein config(target_name + "_public") { 271cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.public_defines)) { 272cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein defines = invoker.public_defines 273cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 274457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 275457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 276cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein forward_variables_from(invoker, 277cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "*", 278cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein [ 279cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "public_defines", 280cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 281cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein ]) 282457b42a6398020c3791f62f8c8637653e0d39bccmtklein all_dependent_configs = [ ":" + target_name + "_public" ] 2839b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein configs += skia_library_configs 284457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 285457b42a6398020c3791f62f8c8637653e0d39bccmtklein } else { 286457b42a6398020c3791f62f8c8637653e0d39bccmtklein source_set(target_name) { 287457b42a6398020c3791f62f8c8637653e0d39bccmtklein forward_variables_from(invoker, 288457b42a6398020c3791f62f8c8637653e0d39bccmtklein "*", 289457b42a6398020c3791f62f8c8637653e0d39bccmtklein [ 290457b42a6398020c3791f62f8c8637653e0d39bccmtklein "public_defines", 291457b42a6398020c3791f62f8c8637653e0d39bccmtklein "deps", 2926ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein "libs", 293457b42a6398020c3791f62f8c8637653e0d39bccmtklein "sources", 294cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein "sources_when_disabled", 295457b42a6398020c3791f62f8c8637653e0d39bccmtklein ]) 296cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein if (defined(invoker.sources_when_disabled)) { 297cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources = invoker.sources_when_disabled 298cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein } 299cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein configs += skia_library_configs 300457b42a6398020c3791f62f8c8637653e0d39bccmtklein } 301eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein } 302eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein} 303457b42a6398020c3791f62f8c8637653e0d39bccmtklein 304a45be61d6beeb923d1b3352776042d58d7b7280dmtkleinoptional("fontmgr_android") { 305a45be61d6beeb923d1b3352776042d58d7b7280dmtklein enabled = fontmgr_android_enabled 306a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 307a45be61d6beeb923d1b3352776042d58d7b7280dmtklein deps = [ 308a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/expat", 309a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "//third_party/freetype2", 310a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 311a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = [ 312a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android.cpp", 313a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_factory.cpp", 314a45be61d6beeb923d1b3352776042d58d7b7280dmtklein "src/ports/SkFontMgr_android_parser.cpp", 315a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 316a45be61d6beeb923d1b3352776042d58d7b7280dmtklein} 317a45be61d6beeb923d1b3352776042d58d7b7280dmtklein 318d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtkleinoptional("fontmgr_custom") { 319d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein enabled = is_linux && skia_use_freetype && !skia_use_fontconfig 320d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 321d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein deps = [ 322d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "//third_party/freetype2", 323d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 324d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein sources = [ 325d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom.cpp", 326d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein "src/ports/SkFontMgr_custom_directory_factory.cpp", 327d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ] 328d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein} 329d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein 3303cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("fontmgr_fontconfig") { 3313cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype && skia_use_fontconfig 3323cc22180561ae17a64ff0e0f9ba173eac149009emtklein 3333cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 3343cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party:fontconfig", 3353cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 3363cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3373cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 3381ae0e01accbca4b96a10b8a8c21917dd7bf27dc3bungeman "src/ports/SkFontConfigInterface.cpp", 3393cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct.cpp", 3403cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontConfigInterface_direct_factory.cpp", 3413cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_FontConfigInterface.cpp", 3423cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig.cpp", 3433cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontMgr_fontconfig_factory.cpp", 3443cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 3453cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 3463cc22180561ae17a64ff0e0f9ba173eac149009emtklein 347cdedd0e061f3f50cd217638c28b27d798d930896mtkleinoptional("fontmgr_fuchsia") { 348cdedd0e061f3f50cd217638c28b27d798d930896mtklein enabled = is_fuchsia && skia_use_freetype 349cdedd0e061f3f50cd217638c28b27d798d930896mtklein 350cdedd0e061f3f50cd217638c28b27d798d930896mtklein deps = [ 351cdedd0e061f3f50cd217638c28b27d798d930896mtklein "//third_party/freetype2", 352cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 353cdedd0e061f3f50cd217638c28b27d798d930896mtklein sources = [ 354cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom.cpp", 355cdedd0e061f3f50cd217638c28b27d798d930896mtklein "src/ports/SkFontMgr_custom_empty_factory.cpp", 356cdedd0e061f3f50cd217638c28b27d798d930896mtklein ] 357cdedd0e061f3f50cd217638c28b27d798d930896mtklein} 358cdedd0e061f3f50cd217638c28b27d798d930896mtklein 359457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("gif") { 360457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_giflib 361457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_GIF_LIBRARY" ] 362457b42a6398020c3791f62f8c8637653e0d39bccmtklein 363457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 364457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/giflib", 365457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 366457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 367457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkGifCodec.cpp", 368457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 369457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 370457b42a6398020c3791f62f8c8637653e0d39bccmtklein 37106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinoptional("gpu") { 37206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein enabled = skia_enable_gpu 373e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines = [] 374e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 37506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] 37606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 37706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein # These paths need to be absolute to match the ones produced by shared_sources.gni. 37806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources -= get_path_info([ 37906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", 38006c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "src/gpu/gl/GrGLDefaultInterface_none.cpp", 38106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ], 38206c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein "abspath") 383703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs = [] 38406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein if (is_android) { 38506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] 38606c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_linux) { 38706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] 38806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else if (is_mac) { 38906c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] 390703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein } else if (is_win) { 391703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein sources += [ "src/gpu/gl/win/GrGLCreateNativeInterface_win.cpp" ] 392703cf5aa20aaf01476f99299ca70a7e8b7aab4c5Mike Klein libs += [ "OpenGL32.lib" ] 39306c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } else { 39406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] 39506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein } 396e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein 397e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein if (skia_use_vulkan) { 398e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein public_defines += [ "SK_VULKAN" ] 399e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein sources += skia_vk_sources 400e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel if (skia_enable_vulkan_debug_layers) { 401e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel public_defines += [ "SK_ENABLE_VK_LAYERS" ] 402e4a9bd79c676346ada8f4c35fa3a7fd99dfc5544egdaniel } 403e9fb3d553cbff3b86e4aae751c75b742d425c7afmtklein } 40406c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein} 40506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein 4066321381d18f9d478598c0996c1380633003961ddmtkleinoptional("jpeg") { 4076321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libjpeg_turbo 4086321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_JPEG_LIBRARY" ] 4096321381d18f9d478598c0996c1380633003961ddmtklein 4106321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4116321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libjpeg-turbo:libjpeg", 4126321381d18f9d478598c0996c1380633003961ddmtklein ] 4136321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4146321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegCodec.cpp", 4156321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegDecoderMgr.cpp", 4166321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkJpegUtility.cpp", 4176321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGImageEncoder.cpp", 4186321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkJPEGWriteUtility.cpp", 4196321381d18f9d478598c0996c1380633003961ddmtklein ] 4206321381d18f9d478598c0996c1380633003961ddmtklein} 4216321381d18f9d478598c0996c1380633003961ddmtklein 4226321381d18f9d478598c0996c1380633003961ddmtkleinoptional("pdf") { 4236321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_zlib 4246321381d18f9d478598c0996c1380633003961ddmtklein 4256321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4266321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/zlib", 4276321381d18f9d478598c0996c1380633003961ddmtklein ] 428b944728b93a1623d73be31413a6798e0b7dddc16brettw sources = skia_pdf_sources 429cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ] 4306321381d18f9d478598c0996c1380633003961ddmtklein 4316321381d18f9d478598c0996c1380633003961ddmtklein if (skia_use_sfntly) { 4326321381d18f9d478598c0996c1380633003961ddmtklein deps += [ "//third_party/sfntly" ] 433cd01b03df8acefbe0e8a37fa10b97d8a6fc0b992mtklein public_defines = [ "SK_PDF_USE_SFNTLY" ] 4346321381d18f9d478598c0996c1380633003961ddmtklein } 4356321381d18f9d478598c0996c1380633003961ddmtklein} 4366321381d18f9d478598c0996c1380633003961ddmtklein 4376321381d18f9d478598c0996c1380633003961ddmtkleinoptional("png") { 4386321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_libpng 4396321381d18f9d478598c0996c1380633003961ddmtklein public_defines = [ "SK_HAS_PNG_LIBRARY" ] 4406321381d18f9d478598c0996c1380633003961ddmtklein 4416321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4426321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/libpng", 4436321381d18f9d478598c0996c1380633003961ddmtklein ] 4446321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4456321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkIcoCodec.cpp", 4466321381d18f9d478598c0996c1380633003961ddmtklein "src/codec/SkPngCodec.cpp", 4476321381d18f9d478598c0996c1380633003961ddmtklein "src/images/SkPNGImageEncoder.cpp", 4486321381d18f9d478598c0996c1380633003961ddmtklein ] 4496321381d18f9d478598c0996c1380633003961ddmtklein} 4506321381d18f9d478598c0996c1380633003961ddmtklein 4513cc22180561ae17a64ff0e0f9ba173eac149009emtkleinoptional("typeface_freetype") { 4523cc22180561ae17a64ff0e0f9ba173eac149009emtklein enabled = skia_use_freetype 4533cc22180561ae17a64ff0e0f9ba173eac149009emtklein 4543cc22180561ae17a64ff0e0f9ba173eac149009emtklein deps = [ 4553cc22180561ae17a64ff0e0f9ba173eac149009emtklein "//third_party/freetype2", 4563cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 4573cc22180561ae17a64ff0e0f9ba173eac149009emtklein sources = [ 4583cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType.cpp", 4593cc22180561ae17a64ff0e0f9ba173eac149009emtklein "src/ports/SkFontHost_FreeType_common.cpp", 4603cc22180561ae17a64ff0e0f9ba173eac149009emtklein ] 4613cc22180561ae17a64ff0e0f9ba173eac149009emtklein} 4623cc22180561ae17a64ff0e0f9ba173eac149009emtklein 463457b42a6398020c3791f62f8c8637653e0d39bccmtkleinoptional("webp") { 464457b42a6398020c3791f62f8c8637653e0d39bccmtklein enabled = skia_use_libwebp 465457b42a6398020c3791f62f8c8637653e0d39bccmtklein public_defines = [ "SK_HAS_WEBP_LIBRARY" ] 466457b42a6398020c3791f62f8c8637653e0d39bccmtklein 467457b42a6398020c3791f62f8c8637653e0d39bccmtklein deps = [ 468457b42a6398020c3791f62f8c8637653e0d39bccmtklein "//third_party/libwebp", 469457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 470457b42a6398020c3791f62f8c8637653e0d39bccmtklein sources = [ 471457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpAdapterCodec.cpp", 472457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/codec/SkWebpCodec.cpp", 473457b42a6398020c3791f62f8c8637653e0d39bccmtklein "src/images/SkWEBPImageEncoder.cpp", 474457b42a6398020c3791f62f8c8637653e0d39bccmtklein ] 475457b42a6398020c3791f62f8c8637653e0d39bccmtklein} 476eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein 4776321381d18f9d478598c0996c1380633003961ddmtkleinoptional("xml") { 4786321381d18f9d478598c0996c1380633003961ddmtklein enabled = skia_use_expat 4796321381d18f9d478598c0996c1380633003961ddmtklein 4806321381d18f9d478598c0996c1380633003961ddmtklein deps = [ 4816321381d18f9d478598c0996c1380633003961ddmtklein "//third_party/expat", 4826321381d18f9d478598c0996c1380633003961ddmtklein ] 4836321381d18f9d478598c0996c1380633003961ddmtklein sources = [ 4846321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkDOM.cpp", 4856321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLParser.cpp", 4866321381d18f9d478598c0996c1380633003961ddmtklein "src/xml/SkXMLWriter.cpp", 4876321381d18f9d478598c0996c1380633003961ddmtklein ] 4886321381d18f9d478598c0996c1380633003961ddmtklein} 4896321381d18f9d478598c0996c1380633003961ddmtklein 490c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") { 491c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein public_configs = [ ":skia_public" ] 492c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein configs += skia_library_configs 493c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 494c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein deps = [ 495b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":arm64", 496b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":armv7", 4979b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":avx", 498b8b3f71c5589aaed8ae76727f3d62642a192b359anmittal ":crc32", 499349cecefe21e2b45acc201290cc4e4fa93b4ad76mtklein ":dsp", 500a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ":fontmgr_android", 501d2e39dbc6a68a6cc2a480d0c8082eb204f6b6e77mtklein ":fontmgr_custom", 5023cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":fontmgr_fontconfig", 503cdedd0e061f3f50cd217638c28b27d798d930896mtklein ":fontmgr_fuchsia", 504457b42a6398020c3791f62f8c8637653e0d39bccmtklein ":gif", 50506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein ":gpu", 50678d5a3bac5cbde50cd12d8b9ab6dd269324b5272Mike Klein ":hsw", 5076321381d18f9d478598c0996c1380633003961ddmtklein ":jpeg", 5089b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":none", 5096321381d18f9d478598c0996c1380633003961ddmtklein ":pdf", 5106321381d18f9d478598c0996c1380633003961ddmtklein ":png", 5119b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse2", 5129b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse41", 5139b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":sse42", 5149b8583dd1f18657c08eaab047d79288b9f2c61a7mtklein ":ssse3", 5153cc22180561ae17a64ff0e0f9ba173eac149009emtklein ":typeface_freetype", 516eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6mtklein ":webp", 5176321381d18f9d478598c0996c1380633003961ddmtklein ":xml", 518c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 519c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 520c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources = [] 521b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_core_sources 522b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_effects_sources 523b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_sksl_sources 524b944728b93a1623d73be31413a6798e0b7dddc16brettw sources += skia_utils_sources 525c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 52625c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionCodec.cpp", 52725c81d4e651b43b8217c365c87d530036529a673mtklein "src/android/SkBitmapRegionDecoder.cpp", 52825c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkAndroidCodec.cpp", 5291211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpCodec.cpp", 5301211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpMaskCodec.cpp", 5311211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpRLECodec.cpp", 5321211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkBmpStandardCodec.cpp", 5331211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodec.cpp", 5341211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkCodecImageGenerator.cpp", 5351211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMaskSwizzler.cpp", 5361211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkMasks.cpp", 53725c81d4e651b43b8217c365c87d530036529a673mtklein "src/codec/SkSampledCodec.cpp", 5381211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSampler.cpp", 5391211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkSwizzler.cpp", 5401211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/codec/SkWbmpCodec.cpp", 541c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder.cpp", 542c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/images/SkImageEncoder_Factory.cpp", 5432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "src/images/SkKTXImageEncoder.cpp", 544c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDiscardableMemory_none.cpp", 545c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkGlobalInitialization_default.cpp", 5461211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "src/ports/SkImageGenerator_skia.cpp", 547c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkMemory_malloc.cpp", 548c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_stdio.cpp", 549c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTTable_name.cpp", 550c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/sfnt/SkOTUtils.cpp", 55125c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGCanvas.cpp", 55225c81d4e651b43b8217c365c87d530036529a673mtklein "src/svg/SkSVGDevice.cpp", 553c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/utils/mac/SkStream_mac.cpp", 554c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/etc1/etc1.cpp", 555c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "third_party/ktx/ktx.cpp", 556c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 557b944728b93a1623d73be31413a6798e0b7dddc16brettw 5587d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs = [] 5597d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 560c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_win) { 561c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 562ae7e671f86e9171c98a4b12bd0a0f875c8d6604fMike Klein "src/fonts/SkFontMgr_indirect.cpp", 563c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkDebug_win.cpp", 564c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_win.cpp", 565c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontMgr_win_dw.cpp", 566c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_WIC.cpp", 567c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorWIC.cpp", 568c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_win.cpp", 569605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_win.cpp", 570c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkScalerContext_win_dw.cpp", 571c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_win.cpp", 572c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTypeface_win_dw.cpp", 57325c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS.cpp", 5744b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "src/xps/SkXPSDevice.cpp", 575c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 57669f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein if (skia_use_gdi) { 57769f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_gdi_factory.cpp" ] 57869f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein libs += [ 57969f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Gdi32.lib", 58069f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein "Usp10.lib", 58169f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein ] 58269f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } else { 58369f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein sources += [ "src/ports/SkFontMgr_win_dw_factory.cpp" ] 58469f6ed40eb8d363644a6b53f5fcbbf88baee372fMike Klein } 585b9be979eaecebcb5350efae46e6555188e7c3a78mtklein sources -= 586b9be979eaecebcb5350efae46e6555188e7c3a78mtklein [ get_path_info("src/utils/SkThreadUtils_pthread.cpp", "abspath") ] 5874b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 5884b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "FontSub.lib", 5894b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Ole32.lib", 5904b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OleAut32.lib", 5914b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "User32.lib", 5924b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 593c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } else { 594c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 595c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkOSFile_posix.cpp", 596605d95289379a07aad50b38ca6badbee45813d56mtklein "src/ports/SkOSLibrary_posix.cpp", 597c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkTLS_pthread.cpp", 59825c81d4e651b43b8217c365c87d530036529a673mtklein "src/xps/SkDocument_XPS_None.cpp", 599c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 600c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 601c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 6027d6fb2c92d096ac3630e23d561a4077a974a815cmtklein if (is_android) { 6037d6fb2c92d096ac3630e23d561a4077a974a815cmtklein deps += [ 6047d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/cpu-features", 6057d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "//third_party/expat", 6067d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 60706c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_android.cpp" ] 6087d6fb2c92d096ac3630e23d561a4077a974a815cmtklein libs += [ 6097d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "EGL", 6107d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "GLESv2", 6117d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "log", 6127d6fb2c92d096ac3630e23d561a4077a974a815cmtklein ] 6137d6fb2c92d096ac3630e23d561a4077a974a815cmtklein } 6147d6fb2c92d096ac3630e23d561a4077a974a815cmtklein 615c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_linux) { 61609e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 61709e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GL", 61809e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "GLU", 61909e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "X11", 62009e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 62106c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 622c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 623c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 624c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein if (is_mac) { 625c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein sources += [ 6267d6fb2c92d096ac3630e23d561a4077a974a815cmtklein "src/ports/SkDebug_stdio.cpp", 627c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkFontHost_mac.cpp", 628c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageEncoder_CG.cpp", 629c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein "src/ports/SkImageGeneratorCG.cpp", 630c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein ] 63109e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein libs += [ 63209e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "ApplicationServices.framework", 63309e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein "OpenGL.framework", 63409e61f72334c6fc4840560b56ff44761d7bf0e5dmtklein ] 635c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein } 6366fc8ff024bd823f350400a86e7b9daa1c25f618eabarth 6376fc8ff024bd823f350400a86e7b9daa1c25f618eabarth if (is_fuchsia) { 63806c35c0953b4884c18d1f2ce32c4c5045f86fa81mtklein sources += [ "src/ports/SkDebug_stdio.cpp" ] 6396fc8ff024bd823f350400a86e7b9daa1c25f618eabarth } 640c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 641c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein 642ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtkleinskia_h_headers = exec_script("gyp/find.py", 643ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ "*.h" ] + rebase_path(skia_public_includes), 644ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein "list lines", 645ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein []) - 646ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein [ 647ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), 648ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkBackendContext.h"), 649ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkDefines.h"), 650ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkInterface.h"), 651ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/gpu/vk/GrVkTypes.h"), 652ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein rebase_path("include/ports/SkFontMgr_fontconfig.h"), 653ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein ] 654ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein 6551211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") { 6561211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein script = "gn/echo_headers.py" 6571211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + 658c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path(skia_h_headers, target_gen_dir) 659bc34404dc3feb4dac854aa43825646dd01139ccbBen Wagner inputs = skia_h_headers 6601211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein outputs = [ 6611211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein "$target_gen_dir/skia.h", 6621211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein ] 6631211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein} 6641211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein 66506c35c0953b4884c18d1f2ce32c4c5045f86fa81mtkleinif (skia_enable_gpu && target_cpu == "x64") { 6661fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # Our bots only have 64-bit libOSMesa installed. 6671fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein # TODO: worth fixing? 6681fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein executable("fiddle") { 6691fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein include_dirs = [ "$target_gen_dir" ] 6701fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs = [] 6711fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein if (is_linux) { 6721fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein libs += [ "OSMesa" ] 6731fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 67456d5669095feca663e9e05f4621146abeee626ecmtklein 6751fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein sources = [ 6761fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "src/images/SkForceLinking.cpp", 6771fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/draw.cpp", 6781fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein "tools/fiddle/fiddle_main.cpp", 6791fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6801fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein deps = [ 6811fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia", 6821fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ":skia.h", 6831fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein ] 6841fbdf98d0e9a9e5e720c77fd896a0655074e31cbmtklein } 685c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein} 68625c81d4e651b43b8217c365c87d530036529a673mtklein 687c095df55e86e7126b0582856720bb9177b553ff1mtklein# Targets guarded by skia_enable_tools may use //third_party freely. 688c095df55e86e7126b0582856720bb9177b553ff1mtkleinif (skia_enable_tools) { 689c095df55e86e7126b0582856720bb9177b553ff1mtklein template("test_lib") { 690c095df55e86e7126b0582856720bb9177b553ff1mtklein config(target_name + "_config") { 691c095df55e86e7126b0582856720bb9177b553ff1mtklein include_dirs = invoker.public_include_dirs 692a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein if (defined(invoker.public_defines)) { 693a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein defines = invoker.public_defines 694a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 695c095df55e86e7126b0582856720bb9177b553ff1mtklein } 696c095df55e86e7126b0582856720bb9177b553ff1mtklein source_set(target_name) { 697c095df55e86e7126b0582856720bb9177b553ff1mtklein forward_variables_from(invoker, "*", [ "public_include_dirs" ]) 698c095df55e86e7126b0582856720bb9177b553ff1mtklein public_configs = [ 699c095df55e86e7126b0582856720bb9177b553ff1mtklein ":" + target_name + "_config", 700c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia_private", 701c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 702c095df55e86e7126b0582856720bb9177b553ff1mtklein 703c095df55e86e7126b0582856720bb9177b553ff1mtklein if (!defined(deps)) { 704c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [] 705c095df55e86e7126b0582856720bb9177b553ff1mtklein } 706c095df55e86e7126b0582856720bb9177b553ff1mtklein deps += [ ":skia" ] 707c095df55e86e7126b0582856720bb9177b553ff1mtklein testonly = true 708c095df55e86e7126b0582856720bb9177b553ff1mtklein } 70925c81d4e651b43b8217c365c87d530036529a673mtklein } 710c095df55e86e7126b0582856720bb9177b553ff1mtklein 711c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gpu_tool_utils") { 71238925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs = [] 71338925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 71438925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines = [] 71538925aa37c17c0f54868852b8c3edf373400c742mtklein public_include_dirs += [ "tools/gpu" ] 716d68f9b00389bf676b171f250e684486cb2fbd404mtklein 717d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps = [] 71838925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 71938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrContextFactory.cpp", 72038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/GrTest.cpp", 72138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/TestContext.cpp", 72238925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/GLTestContext.cpp", 723605d95289379a07aad50b38ca6badbee45813d56mtklein "tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp", 72438925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/DebugGLTestContext.cpp", 72538925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrBufferObj.cpp", 72638925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrFrameBufferObj.cpp", 72738925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrProgramObj.cpp", 72838925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrShaderObj.cpp", 72938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureObj.cpp", 73038925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/debug/GrTextureUnitObj.cpp", 73138925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/gpu/gl/null/NullGLTestContext.cpp", 73238925aa37c17c0f54868852b8c3edf373400c742mtklein ] 73338925aa37c17c0f54868852b8c3edf373400c742mtklein libs = [] 73438925aa37c17c0f54868852b8c3edf373400c742mtklein 73538925aa37c17c0f54868852b8c3edf373400c742mtklein if (is_android) { 73638925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp" ] 73738925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_linux) { 73838925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ] 73938925aa37c17c0f54868852b8c3edf373400c742mtklein } else if (is_mac) { 74038925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ] 7414b167fc8503d8b4887346c5054fc2cc93428846dMike Klein } else if (is_win) { 7424b167fc8503d8b4887346c5054fc2cc93428846dMike Klein sources += [ "tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp" ] 7434b167fc8503d8b4887346c5054fc2cc93428846dMike Klein libs += [ 7444b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "Gdi32.lib", 7454b167fc8503d8b4887346c5054fc2cc93428846dMike Klein "OpenGL32.lib", 7464b167fc8503d8b4887346c5054fc2cc93428846dMike Klein ] 74738925aa37c17c0f54868852b8c3edf373400c742mtklein } 7486ef6999017febaf0039b83c1ff4da1efe9c0e85dmtklein 749d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_angle) { 750d68f9b00389bf676b171f250e684486cb2fbd404mtklein public_defines += [ "SK_ANGLE" ] 751d68f9b00389bf676b171f250e684486cb2fbd404mtklein deps += [ "//third_party/angle2" ] 752d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ] 75338925aa37c17c0f54868852b8c3edf373400c742mtklein } 75438925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_use_mesa) { 75538925aa37c17c0f54868852b8c3edf373400c742mtklein public_defines += [ "SK_MESA" ] 75638925aa37c17c0f54868852b8c3edf373400c742mtklein sources += [ "tools/gpu/gl/mesa/GLTestContext_mesa.cpp" ] 75738925aa37c17c0f54868852b8c3edf373400c742mtklein libs += [ "OSMesa" ] 75838925aa37c17c0f54868852b8c3edf373400c742mtklein } 759d68f9b00389bf676b171f250e684486cb2fbd404mtklein if (skia_use_vulkan) { 760d68f9b00389bf676b171f250e684486cb2fbd404mtklein sources += [ "tools/gpu/vk/VkTestContext.cpp" ] 761d68f9b00389bf676b171f250e684486cb2fbd404mtklein } 762a627b5c3b9004118621bfa99f3952465adfa4ad6mtklein } 76325c81d4e651b43b8217c365c87d530036529a673mtklein } 76425c81d4e651b43b8217c365c87d530036529a673mtklein 765c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("flags") { 766c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tools/flags" ] 767c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 768c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommandLineFlags.cpp", 769046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 770046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 771046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein test_lib("common_flags") { 772046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein public_include_dirs = [ "tools/flags" ] 773046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 774c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlags.cpp", 775c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/flags/SkCommonFlagsConfig.cpp", 776c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 777c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 778046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 779c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 780c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 78125c81d4e651b43b8217c365c87d530036529a673mtklein } 78225c81d4e651b43b8217c365c87d530036529a673mtklein 783c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tool_utils") { 784c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ 785c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools", 786c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger", 787c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer", 788c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 789c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 790c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/images/SkForceLinking.cpp", 791c095df55e86e7126b0582856720bb9177b553ff1mtklein "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools? 792b37c034ac8ad590c70ceac9811ba42a0bf34642cmtklein "tools/AndroidSkDebugToStdOut.cpp", 793c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/CrashHandler.cpp", 7940590fa549d09bd1b6f26c0d5e470f35efe430d65mtklein "tools/LsanSuppressions.cpp", 795c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ProcStats.cpp", 796c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/Resources.cpp", 797c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/ThermalManager.cpp", 798c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/UrlDataManager.cpp", 799c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDebugCanvas.cpp", 800c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkDrawCommand.cpp", 801c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkJsonWriteBuffer.cpp", 802c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/debugger/SkObjectParser.cpp", 803c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/picture_utils.cpp", 804c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/random_parse_path.cpp", 805c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils.cpp", 806c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/sk_tool_utils_font.cpp", 807c095df55e86e7126b0582856720bb9177b553ff1mtklein "tools/timer/Timer.cpp", 808c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 809c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 810046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 811c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 812c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 813c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 814c095df55e86e7126b0582856720bb9177b553ff1mtklein public_deps = [ 815c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/jsoncpp", 816c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 817c095df55e86e7126b0582856720bb9177b553ff1mtklein } 81825c81d4e651b43b8217c365c87d530036529a673mtklein 819c095df55e86e7126b0582856720bb9177b553ff1mtklein gm_sources = exec_script("gyp/find.py", 820c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 821c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 822c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("gm"), 823c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 824c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 825c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 826c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("gm") { 827c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "gm" ] 828c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = gm_sources 829c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 830c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 831c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 832c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 833c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 834c095df55e86e7126b0582856720bb9177b553ff1mtklein } 83525c81d4e651b43b8217c365c87d530036529a673mtklein 836c095df55e86e7126b0582856720bb9177b553ff1mtklein tests_sources = exec_script("gyp/find.py", 837c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 838c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 839c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("tests"), 840c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 841c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 842c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 843c095df55e86e7126b0582856720bb9177b553ff1mtklein 844c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("tests") { 845c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "tests" ] 846a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources = tests_sources - [ 847a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main 848a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile 849a45be61d6beeb923d1b3352776042d58d7b7280dmtklein rebase_path("tests/skia_test.cpp"), # alternate main 850a45be61d6beeb923d1b3352776042d58d7b7280dmtklein ] 851a45be61d6beeb923d1b3352776042d58d7b7280dmtklein if (!fontmgr_android_enabled) { 852a45be61d6beeb923d1b3352776042d58d7b7280dmtklein sources -= [ rebase_path("tests/FontMgrAndroidParserTest.cpp") ] 853a45be61d6beeb923d1b3352776042d58d7b7280dmtklein } 854c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 8556cf896d7ce03b87b3a5595bc66caf0a34c993755fmalita ":experimental_svg_model", 856c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 857c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 858c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 859c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 860c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/libpng", 861c095df55e86e7126b0582856720bb9177b553ff1mtklein "//third_party/zlib", 862c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 863c095df55e86e7126b0582856720bb9177b553ff1mtklein } 8642f3416d2befb9480b7faf461530fd9044f77e6cdmtklein 865c095df55e86e7126b0582856720bb9177b553ff1mtklein bench_sources = exec_script("gyp/find.py", 866c095df55e86e7126b0582856720bb9177b553ff1mtklein [ 867c095df55e86e7126b0582856720bb9177b553ff1mtklein "*.c*", 868c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench"), 869c095df55e86e7126b0582856720bb9177b553ff1mtklein ], 870c095df55e86e7126b0582856720bb9177b553ff1mtklein "list lines", 871c095df55e86e7126b0582856720bb9177b553ff1mtklein []) 872c095df55e86e7126b0582856720bb9177b553ff1mtklein 873c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("bench") { 874c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "bench" ] 875c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = bench_sources 876c095df55e86e7126b0582856720bb9177b553ff1mtklein sources -= [ 877c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobench.cpp"), 878c095df55e86e7126b0582856720bb9177b553ff1mtklein rebase_path("bench/nanobenchAndroid.cpp"), 879c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 880c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 881c095df55e86e7126b0582856720bb9177b553ff1mtklein ":flags", 882c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gm", 883c095df55e86e7126b0582856720bb9177b553ff1mtklein ":gpu_tool_utils", 884c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 885c095df55e86e7126b0582856720bb9177b553ff1mtklein ":tool_utils", 886c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 887c095df55e86e7126b0582856720bb9177b553ff1mtklein } 8882b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 889c095df55e86e7126b0582856720bb9177b553ff1mtklein test_lib("experimental_svg_model") { 890c095df55e86e7126b0582856720bb9177b553ff1mtklein public_include_dirs = [ "experimental/svg/model" ] 891c095df55e86e7126b0582856720bb9177b553ff1mtklein sources = [ 892c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttribute.cpp", 893c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGAttributeParser.cpp", 894c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGCircle.cpp", 895c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGContainer.cpp", 896c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGDOM.cpp", 897c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGEllipse.cpp", 898c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGLine.cpp", 89928d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGLinearGradient.cpp", 900c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGNode.cpp", 901c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPath.cpp", 902c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGPoly.cpp", 903c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRect.cpp", 904c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGRenderContext.cpp", 905c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGSVG.cpp", 906c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGShape.cpp", 90728d5b72d86fdfae20dc47ba548748f119c7273e3fmalita "experimental/svg/model/SkSVGStop.cpp", 908c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGTransformableNode.cpp", 909c095df55e86e7126b0582856720bb9177b553ff1mtklein "experimental/svg/model/SkSVGValue.cpp", 910c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 911c095df55e86e7126b0582856720bb9177b553ff1mtklein deps = [ 912c095df55e86e7126b0582856720bb9177b553ff1mtklein ":skia", 913c095df55e86e7126b0582856720bb9177b553ff1mtklein ] 914c095df55e86e7126b0582856720bb9177b553ff1mtklein } 915a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita 91616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("views") { 91716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "include/views" ] 91816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 91916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEvent.cpp", 92016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkEventSink.cpp", 92116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkOSMenu.cpp", 92216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTagList.cpp", 92316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkTouchGesture.cpp", 92416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkView.cpp", 92516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/SkViewPriv.cpp", 92616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 92716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs = [] 92816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (!is_android) { 92916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/SkWindow.cpp" ] 93016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 93116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (is_android) { 93216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_linux) { 9332dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman public_include_dirs += [ "src/views/unix" ] 9342dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 9352dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/SkOSWindow_Unix.cpp", 9362dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "src/views/unix/keysym2ucs.c", 9372dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 93816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_mac) { 93916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 94016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkEventNotifier.mm", 94116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkNSView.mm", 94216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkOSWindow_Mac.mm", 94316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "src/views/mac/SkTextFieldCell.m", 94416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 94516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman libs += [ 94616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "QuartzCore.framework", 94716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Cocoa.framework", 94816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "Foundation.framework", 94916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 95016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } else if (is_win) { 95116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "src/views/win/SkOSWindow_win.cpp" ] 95216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 95316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 95416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 95516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sample_sources = exec_script("gyp/find.py", 95616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman [ 95716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "*.c*", 95816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode"), 95916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ], 96016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "list lines", 96116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman []) 96216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 96316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman test_lib("samples") { 96416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman include_dirs = [ "experimental" ] 96516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman public_include_dirs = [ "samplecode" ] 96616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = sample_sources 96716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources -= [ 96816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleAnimator.cpp"), # relies on animator 96916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleApp.cpp"), # part of SampleApp exe, not samples lib 97016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleClamp.cpp"), 97116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleDash.cpp"), 97216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleLua.cpp"), # no Lua yet in GN 97316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SamplePathFill.cpp"), 97416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SamplePictFile.cpp"), # relies on SK_SUPPORT_LEGACY_DRAWFILTER 97516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleSkLayer.cpp"), # relies on SkMatrix44 which doesn't compile? 97616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman rebase_path("samplecode/SampleFontCache.cpp"), # relies on pthread.h 97716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 97816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 97916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp", 98016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "experimental/SkSetPoly3To3.cpp", 98116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "experimental/SkSetPoly3To3_A.cpp", 98216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "experimental/SkSetPoly3To3_D.cpp", 98316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 98416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 98516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":experimental_svg_model", 98616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gm", # Why does SampleFilterQuality.cpp include gm.h ??? 98716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 98816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 98916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":xml", 99016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 99116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 99216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 9932b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("dm") { 9942b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 9952b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DM.cpp", 9962b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMJsonWriter.cpp", 9972b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "dm/DMSrcSink.cpp", 9982b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 9992b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein include_dirs = [ "tests" ] 10002b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 1001046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 1002a2b9fdfe0b2dd3408064b7cfd1bf8677eaf06491fmalita ":experimental_svg_model", 10032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 10042b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 10052b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 10062b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 10072f3416d2befb9480b7faf461530fd9044f77e6cdmtklein ":tests", 10082b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 10092b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 10102b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/libpng", 10112b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 10122b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 10132b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 10142b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 1015a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein if (!is_debug) { # I've benchmarked debug code once too many times... 1016a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein executable("monobench") { 1017a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein sources = [ 1018a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein "tools/monobench.cpp", 1019a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1020a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein deps = [ 1021a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":bench", 1022a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ":skia", 1023a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein ] 1024a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein testonly = true 1025a343017fc2a1dd3d7aba50f60f2064b787748bb2Mike Klein } 10262b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 10272b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein 10282b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein executable("nanobench") { 10292b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein sources = [ 10302b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "bench/nanobench.cpp", 10312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 10322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein deps = [ 10332b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":bench", 1034046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":common_flags", 10356519c21a57946366c1141fa81fe1b283150b43fcfmalita ":experimental_svg_model", 10362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":flags", 10372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gm", 10382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":gpu_tool_utils", 10392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":skia", 10402b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ":tool_utils", 10412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein "//third_party/jsoncpp", 10422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein ] 10432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein testonly = true 10442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein } 104519a9720978700a24efed8dda7e0935ea2b7338c4halcanary 104638925aa37c17c0f54868852b8c3edf373400c742mtklein if (skia_enable_gpu) { 104738925aa37c17c0f54868852b8c3edf373400c742mtklein executable("skpbench") { 104838925aa37c17c0f54868852b8c3edf373400c742mtklein sources = [ 104938925aa37c17c0f54868852b8c3edf373400c742mtklein "tools/skpbench/skpbench.cpp", 105038925aa37c17c0f54868852b8c3edf373400c742mtklein ] 105138925aa37c17c0f54868852b8c3edf373400c742mtklein deps = [ 105238925aa37c17c0f54868852b8c3edf373400c742mtklein ":flags", 105338925aa37c17c0f54868852b8c3edf373400c742mtklein ":gpu_tool_utils", 105438925aa37c17c0f54868852b8c3edf373400c742mtklein ":skia", 105538925aa37c17c0f54868852b8c3edf373400c742mtklein ":tool_utils", 105638925aa37c17c0f54868852b8c3edf373400c742mtklein ] 105738925aa37c17c0f54868852b8c3edf373400c742mtklein testonly = true 105838925aa37c17c0f54868852b8c3edf373400c742mtklein } 10594b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton } 10604b5179b74c49498e5b2b7d94319476672170b61dcsmartdalton 10614b167fc8503d8b4887346c5054fc2cc93428846dMike Klein # We can't yet build ICU on Windows. 1062768bdfca71391016c92239831d66427d0f3b151dMike Klein if (!is_win) { 10633eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf-hb") { 10646f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein sources = [ 10656f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/SkShaper_harfbuzz.cpp", 10666f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "tools/using_skia_and_harfbuzz.cpp", 10676f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 10686f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein deps = [ 10696f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ":skia", 10706f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein "//third_party/harfbuzz", 10716f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein ] 10726f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein testonly = true 10736f5df6acb7dec9788fe5d9c44f7892b896e21de3mtklein } 107419a9720978700a24efed8dda7e0935ea2b7338c4halcanary } 10753eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary executable("sktexttopdf") { 10763eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary sources = [ 10773eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/SkShaper_primitive.cpp", 10783eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary "tools/using_skia_and_harfbuzz.cpp", 10793eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 10803eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary deps = [ 10813eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ":skia", 10823eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary ] 10833eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary testonly = true 10843eee9d941e773d576917d4a5e89fd4b2b8f53253halcanary } 1085046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein 1086046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein executable("get_images_from_skps") { 1087046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein sources = [ 1088046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "tools/get_images_from_skps.cpp", 1089046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1090046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein deps = [ 1091046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":flags", 1092046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ":skia", 1093046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein "//third_party/jsoncpp", 1094046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein ] 1095046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein testonly = true 1096046cb56c6c1bb40779c81b115271ed0e8196b48bmtklein } 1097ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein 1098ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein executable("skiaserve") { 1099ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein sources = [ 1100ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/Request.cpp", 1101ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/Response.cpp", 1102ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/skiaserve.cpp", 1103ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BatchBoundsHandler.cpp", 1104ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BatchesHandler.cpp", 1105ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/BreakHandler.cpp", 1106ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ClipAlphaHandler.cpp", 1107ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/CmdHandler.cpp", 1108ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ColorModeHandler.cpp", 1109ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/DataHandler.cpp", 1110ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/DownloadHandler.cpp", 1111ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/EnableGPUHandler.cpp", 1112ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/ImgHandler.cpp", 1113ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/InfoHandler.cpp", 1114c03e1c55a79f00d02ab528945425ff50cb700402Ben Wagner "tools/skiaserve/urlhandlers/OverdrawHandler.cpp", 1115ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/PostHandler.cpp", 1116ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/QuitHandler.cpp", 1117ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "tools/skiaserve/urlhandlers/RootHandler.cpp", 1118ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ] 1119ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein deps = [ 1120ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":flags", 1121ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":gpu_tool_utils", 1122ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":skia", 1123ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ":tool_utils", 1124ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/jsoncpp", 1125ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/libmicrohttpd", 1126ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein "//third_party/libpng", 1127ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein ] 1128ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein testonly = true 1129ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein } 113014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick 113114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick executable("fuzz") { 113214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick sources = [ 113314f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FilterFuzz.cpp", 113414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzGradients.cpp", 113514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzParsePath.cpp", 113614f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzPathop.cpp", 113714f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/FuzzScaleToSides.cpp", 113814f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick "fuzz/fuzz.cpp", 113914f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 114014f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick deps = [ 114114f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":flags", 114214f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ":skia", 114314f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick ] 114414f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick testonly = true 114514f984bc6bdb4327c3f577b7ccbc61a710443288kjlubick } 11463831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein 11473831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein executable("dump_record") { 11483831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein sources = [ 11493831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/DumpRecord.cpp", 11503831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein "tools/dump_record.cpp", 11513831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 11523831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein deps = [ 11533831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":flags", 11543831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ":skia", 11553831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein ] 11563831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein testonly = true 11573831242a33fbf8d0cd45a0056427bf68df317f07Mike Klein } 1158fe9172705791848ebfe5b5630973b7e67305f64cbungeman 1159fe9172705791848ebfe5b5630973b7e67305f64cbungeman executable("skdiff") { 1160fe9172705791848ebfe5b5630973b7e67305f64cbungeman sources = [ 1161fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff.cpp", 1162fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_html.cpp", 1163fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_main.cpp", 1164fe9172705791848ebfe5b5630973b7e67305f64cbungeman "tools/skdiff/skdiff_utils.cpp", 1165fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1166fe9172705791848ebfe5b5630973b7e67305f64cbungeman deps = [ 1167fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":skia", 1168fe9172705791848ebfe5b5630973b7e67305f64cbungeman ":tool_utils", 1169fe9172705791848ebfe5b5630973b7e67305f64cbungeman ] 1170fe9172705791848ebfe5b5630973b7e67305f64cbungeman testonly = true 1171fe9172705791848ebfe5b5630973b7e67305f64cbungeman } 1172a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary 1173a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary executable("skp_parser") { 1174a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary sources = [ 1175a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "tools/skp_parser.cpp", 1176a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1177a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary deps = [ 1178a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":skia", 1179a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ":tool_utils", 1180a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary "//third_party/jsoncpp", 1181a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary ] 1182a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary testonly = true 1183a73d76af31d8ad04716fb611d7987dfd1762f5e9halcanary } 118416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 118513b4bc1a429a7250cc4303963ccd62b382245686Brian Osman if (skia_enable_gpu && (is_linux || is_win)) { 118616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman executable("viewer") { 118716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources = [ 118816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/GMSlide.cpp", 118916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/ImageSlide.cpp", 119016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SKPSlide.cpp", 119116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/SampleSlide.cpp", 119216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/Viewer.cpp", 119316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/CommandSet.cpp", 119416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/GLWindowContext.cpp", 119516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/Window.cpp", 119616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/WindowContext.cpp", 119716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 11982dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs = [] 119916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 12002dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman if (is_linux) { 12012dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ 12022dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/GLWindowContext_unix.cpp", 12032dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/RasterWindowContext_unix.cpp", 12042dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/Window_unix.cpp", 12052dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman "tools/viewer/sk_app/unix/main_unix.cpp", 12062dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman ] 12072dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 120816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ 120916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/GLWindowContext_win.cpp", 121016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/RasterWindowContext_win.cpp", 121116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/Window_win.cpp", 121216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "tools/viewer/sk_app/win/main_win.cpp", 121316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 121416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 121516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 121616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman if (skia_use_vulkan) { 121716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/VulkanWindowContext.cpp" ] 12182dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman if (is_linux) { 12192dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman sources += [ "tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp" ] 12202dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman libs += [ "X11-xcb" ] 12212dd9693432b319c18a12c8a0deab5e1af5330e95Brian Osman } else if (is_win) { 122216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman sources += [ "tools/viewer/sk_app/win/VulkanWindowContext_win.cpp" ] 122316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 122416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 122516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman 122616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman include_dirs = [] 122716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman deps = [ 122816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":flags", 122916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gm", 123016adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":gpu_tool_utils", 123116adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":samples", 123216adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":skia", 123316adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":tool_utils", 123416adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ":views", 123516adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman "//third_party/jsoncpp", 123616adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman ] 123716adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman testonly = true 123816adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 123916adfa39330b7b1c6ac16b8127843e55f4233a29Brian Osman } 124025c81d4e651b43b8217c365c87d530036529a673mtklein} 1241