skia2/gn/skia.gni

149 lines
5.2 KiB
Plaintext
Raw Normal View History

# Copyright 2019 Google LLC.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (!defined(is_skia_standalone)) {
is_skia_standalone = false
}
is_skia_dev_build = is_skia_standalone && !is_official_build
declare_args() {
skia_android_serial = ""
skia_compile_processors = false
skia_enable_api_available_macro = true
skia_enable_android_utils = is_skia_dev_build
skia_enable_ccpr = true
skia_enable_discrete_gpu = true
skia_enable_flutter_defines = false
skia_enable_fontmgr_empty = false
skia_enable_fontmgr_fuchsia = is_fuchsia
skia_enable_fontmgr_win = is_win
skia_enable_fontmgr_win_gdi = is_win
skia_enable_gpu = true
skia_enable_pdf = true
skia_enable_skottie = !(is_win && is_component_build)
skia_enable_skrive = true
Revert "remove sksl interpreter guards" This reverts commit 7f1117e88611a9df157864884bb55040aa65867d. Reason for revert: Seems like Clang gets stuck allocating registers on ARM, [2477/38027] CXX obj/skia/skia/SkSLByteCode.o FAILED: obj/skia/skia/SkSLByteCode.o /b/s/w/ir/cache/goma/client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF...(too long) fatal error: error in backend: Error while trying to spill LR from class GPR: Cannot scavenge register without an emergency spill slot! PLEASE submit a bug report to https://crbug.com and run tools/clang/scripts/process_crashreports.py (only works inside Google) which will upload a report and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/skia/ski...(too long) Original change's description: > remove sksl interpreter guards > > This is only used by particles, benchmarks, and tests, > and should be swept away by dead code elimination otherwise. > > Change-Id: I10462d6ae0a08dd8219fc49325160ec6790632af > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311759 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,brianosman@google.com Change-Id: I1b6370d39285210267425f090235a4d80aebe4fa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312034 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-20 00:41:00 +00:00
skia_enable_sksl_interpreter = is_skia_dev_build
skia_enable_skvm_jit_when_possible = is_skia_dev_build
skia_enable_svg = true
skia_enable_tools = is_skia_dev_build
skia_enable_gpu_debug_layers = is_skia_dev_build && is_debug
skia_generate_workarounds = false
skia_include_multiframe_procs = false
skia_lex = false
skia_libgifcodec_path = "third_party/externals/libgifcodec"
skia_pdf_subset_harfbuzz =
false # TODO: set skia_pdf_subset_harfbuzz to skia_use_harfbuzz.
skia_qt_path = getenv("QT_PATH")
skia_skqp_global_error_tolerance = 0
skia_tools_require_resources = false
skia_update_fuchsia_sdk = false
skia_use_angle = false
skia_use_dawn = false
skia_use_direct3d = false
skia_use_egl = false
skia_use_expat = true
skia_use_experimental_xform = false
skia_use_ffmpeg = false
skia_use_fixed_gamma_text = is_android
skia_use_fontconfig = is_linux
skia_use_fonthost_mac = is_mac || is_ios
skia_use_freetype = is_android || is_fuchsia || is_linux
skia_use_harfbuzz = true
skia_use_gl = !is_fuchsia
skia_use_icu = !is_fuchsia
skia_use_libheif = is_skia_dev_build
skia_use_libjpeg_turbo_decode = true
skia_use_libjpeg_turbo_encode = true
skia_use_libpng_decode = true
skia_use_libpng_encode = true
skia_use_libwebp_decode = true
skia_use_libwebp_encode = true
skia_use_lua = is_skia_dev_build && !is_ios
skia_use_metal = false
skia_use_ndk_images = is_android && defined(ndk_api) && ndk_api >= 30
skia_use_opencl = false
skia_use_piex = !is_win
skia_use_sfml = false
skia_use_webgl = false
skia_use_wuffs = false
skia_use_x11 = is_linux
skia_use_xps = true
skia_use_zlib = true
skia_vtune_path = ""
if (is_ios) {
skia_ios_identity = ".*Google.*"
skia_ios_profile = "Google Development"
}
if (is_mac) {
skia_gl_standard = "gl"
} else if (is_ios) {
skia_gl_standard = "gles"
} else {
skia_gl_standard = ""
}
if (is_android) {
skia_use_vulkan = defined(ndk_api) && ndk_api >= 24
} else if (is_fuchsia) {
skia_use_vulkan = true
} else {
skia_use_vulkan = false
}
skia_build_fuzzers = is_clang && is_linux && target_cpu == "x64"
skia_use_libfuzzer_defaults = true
}
declare_args() {
skia_compile_sksl_tests = skia_compile_processors
skia_enable_fontmgr_android = skia_use_expat && skia_use_freetype
skia_enable_fontmgr_custom_directory = skia_use_freetype && !is_fuchsia
skia_enable_fontmgr_custom_embedded = skia_use_freetype && !is_fuchsia
skia_enable_fontmgr_custom_empty = skia_use_freetype
skia_enable_fontmgr_fontconfig = skia_use_freetype && skia_use_fontconfig
skia_enable_fontmgr_FontConfigInterface =
skia_use_freetype && skia_use_fontconfig
skia_enable_nvpr = !skia_enable_flutter_defines
skia_enable_spirv_validation = is_skia_dev_build && is_debug && !skia_use_dawn
skia_use_dng_sdk =
!is_fuchsia && skia_use_libjpeg_turbo_decode && skia_use_zlib
skia_use_libgifcodec = !skia_use_wuffs
skia_use_sfntly = skia_use_icu
skia_enable_vulkan_debug_layers = skia_enable_gpu_debug_layers
skia_enable_direct3d_debug_layer = skia_enable_gpu_debug_layers
skia_use_vma = skia_use_vulkan
}
declare_args() {
# skia_fontmgr_factory should define SkFontMgr::Factory()
if (skia_enable_fontmgr_empty) {
skia_fontmgr_factory = ":fontmgr_empty_factory"
} else if (is_android && skia_enable_fontmgr_android) {
skia_fontmgr_factory = ":fontmgr_android_factory"
} else if (is_win && skia_enable_fontmgr_win) {
skia_fontmgr_factory = ":fontmgr_win_factory"
} else if ((is_mac || is_ios) && skia_use_fonthost_mac) {
skia_fontmgr_factory = ":fontmgr_mac_ct_factory"
} else if (skia_enable_fontmgr_fontconfig) {
skia_fontmgr_factory = ":fontmgr_fontconfig_factory"
} else if (skia_enable_fontmgr_custom_directory) {
skia_fontmgr_factory = ":fontmgr_custom_directory_factory"
} else if (skia_enable_fontmgr_custom_embedded) {
skia_fontmgr_factory = ":fontmgr_custom_embedded_factory"
} else if (skia_enable_fontmgr_custom_empty) {
skia_fontmgr_factory = ":fontmgr_custom_empty_factory"
} else {
#"src/ports/SkFontMgr_FontConfigInterface_factory.cpp" #WontFix
#"src/ports/SkFontMgr_win_gdi_factory.cpp" # WontFix
skia_fontmgr_factory = ":fontmgr_empty_factory"
}
}
# Our tools require static linking (they use non-exported symbols), and the GPU backend.
skia_enable_tools = skia_enable_tools && !is_component_build && skia_enable_gpu