crosvm/win_audio/build.rs
Dennis Kempin 01da29a398 net_util/win_audio: Do not use cfg conditional compilation in build.rs
The build.rs file will be compiled for the host platform and cfg()
flags will reflect those of the host platform and not of the build
target.
Use CARGO_CFG_ environment variables instead.

BUG=b:240593511
TEST=CQ

Change-Id: Ib8b6c8e8bfb44ad83212bb2aa40a17a4e16a4adf
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4518569
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Vikram Auradkar <auradkar@google.com>
2023-05-09 20:27:26 +00:00

44 lines
1.3 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";
static UCRTBASE_DLL: &str = "ucrtbased.dll";
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, UCRTBASE_DLL, 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(),
);
}
}