# Run the crate build script (emits cfgs / OUT_DIR sources). [buildscript.run] # cargo sets OPT_LEVEL for every build script; buck2 does not, and cc-rs and # a number of configure scripts read it unconditionally. env = { OPT_LEVEL = "2" } # And honour the build script's linking directives, the same as aws-lc-sys and # openh264-sys2 — see the longer note in the first. This build script asks # pkg-config for alsa and emits `cargo:rustc-link-lib=asound`; buck2 drops that # by default, which left 68 `snd_pcm_*` symbols undefined in every buck2-built # desktop libjoltmoq.so and no DT_NEEDED on libasound to resolve them with. # # Nothing on Android hit it — cpal uses its AAudio host there, not ALSA — so # the release that fixed the same class of defect for the phone shipped a # desktop object that still could not be dlopened at all. rustc_link_lib = true rustc_link_search = true