commit | ffc9e8ed57635867b29db8216c4043045285cb1e | [log] [tgz] |
---|---|---|
author | Li-Yu Yu <aaronyu@google.com> | Sat Jun 24 09:51:09 2023 |
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jun 26 08:24:55 2023 |
tree | d2712a0207035681d03812f712a9383eb3c7648e | |
parent | 767ccd235023de9d859321727e75cc4451fb70ba [diff] |
bazel: Use proto rules for protos Note that while this commit pulls in com_google_protobuf, it only builds with vendored protobuf while building webrtc-apm standalone. When webrtc-apm is built with adhd, adhd configures the protobuf toolchain and the system protobuf is used. BUG=b:287389752 TEST=bazel test //... Cq-Depend: chromium:4643328 Change-Id: I9854ee81801ad4ca45ea960fece89a821439d7a5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/webrtc-apm/+/4643308 Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> Commit-Queue: Li-Yu Yu <aaronyu@google.com> Tested-by: Li-Yu Yu <aaronyu@google.com>
APM is the audio processing module of WebRTC project in charge of effects like echo cancellation, noise suppression, etc. The purpose of this project is to build a standalone library for Chrome OS system side audio processing.
To update this package to latest upstream WebRC:
./script/sync-apm.sh path/to/webrtc-checkout/src .
emerge-${BOARD} adhd
to see if anything breaks.There are three ways to build/test this package:
The first one is the easiest to iterate with, and the last one is closest to the way ChromiumOS infra actually use to build OS images. The second one is somewhere in-between.
In the directory same as this README file, run:
bazel test //:tests
If you see pkg-config errors you are missing some system dependencies. (Googlers: follow go/cras-dev#prerequisites to install dependencies on gLinux)
Clone https://chromium.googlesource.com/chromiumos/third_party/adhd/ to the directory adjacent to this directory, so that adhd
and webrtc-apm
(this repository) are in the same directory.
NOTE: If you use repo
to set up a ChromiumOS checkout, the directory tree is already set up this way.
In the adhd
directory, run:
bazel test //... @webrtc_apm//:tests
There are some configs you can use, such as --config=local-clang
and --config=asan
. Refer to adhd's bazelrc for details.
If you see pkg-config errors you are missing some system dependencies. (Googlers: follow go/cras-dev#prerequisites to install dependencies on gLinux)
Example:
FEATURES=test USE=asan emerge-${BOARD} adhd