1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# The vendored cpal, which reindeer cannot generate a target for: it arrives as
# a path patch rather than a registry or git source, and reindeer only emits
# targets for sources it vendors. See the patch table in ../Cargo.toml for why
# the copy exists at all, and fixups/moq-media for what points at this.
#
# Without the `pipewire` feature, matching how ../Cargo.toml declares it, and
# without `jack`, which is optional and off.
rust_library(
name = "cpal",
srcs = glob(["src/**/*.rs"]),
crate = "cpal",
crate_root = "src/lib.rs",
edition = "2021",
visibility = ["PUBLIC"],
deps = ["//third-party/rust:dasp_sample"] + select({
# The ALSA host. Mirrors cpal's linux/*bsd target table.
"DEFAULT": [
"//third-party/rust:alsa",
"//third-party/rust:libc",
],
# The AAudio host. `ndk` is the binding, `ndk-context` is how cpal finds
# the VM, and jni here is 0.21 — the other one in this graph is 0.22 and
# renamed for exactly that reason. No alsa row: the phone has none.
"prelude//os:android": [
"//third-party/rust:jni",
"//third-party/rust:libc",
"//third-party/rust:ndk",
"//third-party/rust:ndk-context",
"//third-party/rust:num-derive",
"//third-party/rust:num-traits",
],
# CoreAudio. The objc2 rows are pinned to the versions cpal asks for
# rather than the older ones winit drags into the same graph.
"prelude//os:macos": [
"//third-party/rust:coreaudio-rs",
"//third-party/rust:libc",
"//third-party/rust:mach2",
"//third-party/rust:objc2",
"//third-party/rust:objc2-audio-toolbox",
"//third-party/rust:objc2-core-audio",
"//third-party/rust:objc2-core-audio-types",
"//third-party/rust:objc2-core-foundation",
"//third-party/rust:objc2-foundation",
],
}),
)
|