Update to current webrtc library
This is from the upstream library commit id 3326535126e435f1ba647885ce43a8f0f3d317eb, corresponding to Chromium 88.0.4290.1.
This commit is contained in:
110
webrtc/third_party/pffft/BUILD.gn
vendored
Normal file
110
webrtc/third_party/pffft/BUILD.gn
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
# Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//build/config/arm.gni")
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
import("//testing/test.gni")
|
||||
|
||||
config("common_config") {
|
||||
if (is_win) {
|
||||
defines = [
|
||||
# Required to use math constants from math.h.
|
||||
"_USE_MATH_DEFINES",
|
||||
]
|
||||
}
|
||||
|
||||
# PFFFT doesn't support SIMD on some cpus, so build a scalar version.
|
||||
if ((current_cpu == "arm" && !arm_use_neon) || current_cpu == "mipsel" ||
|
||||
current_cpu == "mips64el" || current_cpu == "ppc64" ||
|
||||
current_cpu == "s390x") {
|
||||
defines = [ "PFFFT_SIMD_DISABLE" ]
|
||||
}
|
||||
}
|
||||
|
||||
static_library("pffft") {
|
||||
configs += [ ":common_config" ]
|
||||
sources = [
|
||||
"src/pffft.c",
|
||||
"src/pffft.h",
|
||||
]
|
||||
}
|
||||
|
||||
# Fuzzing.
|
||||
|
||||
group("fuzzers") {
|
||||
testonly = true
|
||||
deps = [
|
||||
":pffft_complex_fuzzer",
|
||||
":pffft_real_fuzzer",
|
||||
]
|
||||
}
|
||||
|
||||
fuzzer_testdata_dir = "$target_gen_dir/testdata"
|
||||
|
||||
action("generate_pffft_fuzzer_corpus") {
|
||||
script = "generate_seed_corpus.py"
|
||||
sources = [ "generate_seed_corpus.py" ]
|
||||
args = [ rebase_path(fuzzer_testdata_dir, root_build_dir) ]
|
||||
outputs = [ fuzzer_testdata_dir ]
|
||||
}
|
||||
|
||||
fuzzer_test("pffft_complex_fuzzer") {
|
||||
sources = [ "pffft_fuzzer.cc" ]
|
||||
cflags = [ "-DTRANSFORM_COMPLEX" ]
|
||||
deps = [ ":pffft" ]
|
||||
seed_corpus = fuzzer_testdata_dir
|
||||
seed_corpus_deps = [ ":generate_pffft_fuzzer_corpus" ]
|
||||
}
|
||||
|
||||
fuzzer_test("pffft_real_fuzzer") {
|
||||
sources = [ "pffft_fuzzer.cc" ]
|
||||
cflags = [ "-DTRANSFORM_REAL" ]
|
||||
deps = [ ":pffft" ]
|
||||
seed_corpus = fuzzer_testdata_dir
|
||||
seed_corpus_deps = [ ":generate_pffft_fuzzer_corpus" ]
|
||||
}
|
||||
|
||||
# Unit tests and benchmark.
|
||||
|
||||
# This target must be used only for testing and benchmark purposes.
|
||||
static_library("fftpack") {
|
||||
testonly = true
|
||||
configs += [ ":common_config" ]
|
||||
sources = [
|
||||
"src/fftpack.c",
|
||||
"src/fftpack.h",
|
||||
]
|
||||
visibility = [ ":*" ]
|
||||
}
|
||||
|
||||
config("pffft_benchmark_internal_config") {
|
||||
cflags = [
|
||||
# test_pffft.c contains an `exit(1)` following a `break` statement.
|
||||
"-Wno-unreachable-code",
|
||||
]
|
||||
}
|
||||
|
||||
executable("pffft_benchmark") {
|
||||
testonly = true
|
||||
configs += [
|
||||
":common_config",
|
||||
":pffft_benchmark_internal_config",
|
||||
]
|
||||
sources = [ "src/test_pffft.c" ]
|
||||
deps = [
|
||||
":fftpack",
|
||||
":pffft",
|
||||
]
|
||||
}
|
||||
|
||||
test("pffft_unittest") {
|
||||
testonly = true
|
||||
sources = [ "pffft_unittest.cc" ]
|
||||
deps = [
|
||||
":fftpack",
|
||||
":pffft",
|
||||
"//testing/gtest",
|
||||
"//testing/gtest:gtest_main",
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user