crosvm/win_audio/build.rs
Vikram Auradkar 2c6e960de3 win_audio: build and test win_audio
BUG=b:253494168
TEST=presubmit

Change-Id: Icb729671a0dcfbc4b6251c69732784de32f6318d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3988069
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Auto-Submit: Vikram Auradkar <auradkar@google.com>
Commit-Queue: Vikram Auradkar <auradkar@google.com>
2022-11-01 20:40:09 +00:00

53 lines
1.5 KiB
Rust

// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use std::env;
static PREBUILTS_VERSION_FILENAME: &str = "prebuilts_version";
static R8BRAIN_LIB: &str = "r8Brain.lib";
static R8BRAIN_DLL: &str = "r8Brain.dll";
#[cfg(windows)]
static UCRTBASE_DLL: &str = "ucrtbased.dll";
#[cfg(windows)]
static VCRUNTIME_DLL: &str = "vcruntime140d.dll";
fn main() {
if std::env::var("CARGO_CFG_WINDOWS").is_ok() {
let version = std::fs::read_to_string(PREBUILTS_VERSION_FILENAME)
.unwrap()
.trim()
.parse::<u32>()
.unwrap();
// TODO(b:253039132) build prebuilts locally on windows from build.rs.
let files = prebuilts::download_prebuilts(
"r8brain",
version,
&[
R8BRAIN_DLL,
R8BRAIN_LIB,
#[cfg(windows)]
UCRTBASE_DLL,
#[cfg(windows)]
VCRUNTIME_DLL,
],
)
.unwrap();
let lib_dir = files
.get(0)
.unwrap()
.parent()
.unwrap()
.as_os_str()
.to_str()
.unwrap();
println!("cargo:rustc-link-lib=r8Brain");
println!(r#"cargo:rustc-link-search={}"#, lib_dir);
println!(
r#"cargo:rustc-env=PATH={};{}"#,
lib_dir,
env::var("PATH").unwrap(),
);
}
}