mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-06 16:56:55 +08:00
When libyuv is used in Chrome, there are linker errors or other build errors on the following platforms: - Android: undefined symbol: __getauxval - Fuchsia: undefined symbol: __aarch64_sme_accessible - macOS: undefined symbol: __arm_tpidr2_save - Windows: Incorrect size for TransposeWxH_SME prologue: 52 bytes of instructions in range, but .seh directives corresponding to 40 bytes Restrict libyuv_use_sme to is_linux (which excludes Android and ChromeOS) to work around these errors. Bug: libyuv:359006069 Change-Id: Ia3ffd6e4ce4859ae7f811836cb1d8d61f6943b6f Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5779858 Reviewed-by: Frank Barchard <fbarchard@chromium.org>
35 lines
1.4 KiB
Plaintext
35 lines
1.4 KiB
Plaintext
# Copyright 2016 The LibYuv Project Authors. All rights reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
import("//build/config/arm.gni")
|
|
import("//build/config/loongarch64.gni")
|
|
import("//build/config/mips.gni")
|
|
import("//build_overrides/build.gni")
|
|
|
|
declare_args() {
|
|
libyuv_include_tests = !build_with_chromium
|
|
libyuv_disable_jpeg = false
|
|
libyuv_disable_rvv = false
|
|
libyuv_use_neon =
|
|
current_cpu == "arm64" ||
|
|
(current_cpu == "arm" && (arm_use_neon || arm_optionally_use_neon))
|
|
libyuv_use_sve = current_cpu == "arm64"
|
|
|
|
# Restrict to is_linux to work around undefined symbol linker errors on
|
|
# Android, Fuchsia, macOS, and compilation errors on Windows.
|
|
# TODO: bug 359006069 - Remove the is_linux restriction after the linker and
|
|
# compilation errors are fixed.
|
|
libyuv_use_sme = current_cpu == "arm64" && is_linux
|
|
libyuv_use_msa =
|
|
(current_cpu == "mips64el" || current_cpu == "mipsel") && mips_use_msa
|
|
libyuv_use_mmi =
|
|
(current_cpu == "mips64el" || current_cpu == "mipsel") && mips_use_mmi
|
|
libyuv_use_lsx = current_cpu == "loong64" && loongarch64_use_lsx
|
|
libyuv_use_lasx = current_cpu == "loong64" && loongarch64_use_lasx
|
|
}
|