加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
build.rs 1.47 KB
一键复制 编辑 原始数据 按行查看 历史
// Copyright (c) 2023 Huawei Technologies Co.,Ltd. All rights reserved.
//
// StratoVirt is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan
// PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
// http://license.coscl.org.cn/MulanPSL2
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
// KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
fn ohos_env_configure() {
if let Ok(ohos_sdk_path) = std::env::var("OHOS_SDK") {
println!("cargo:rustc-link-arg=--target=aarch64-linux-ohos");
println!("cargo:rustc-link-arg=--verbose");
println!("cargo:rustc-link-arg=--sysroot={}/sysroot", ohos_sdk_path);
println!("cargo:rustc-link-arg=-lpixman_static");
println!(
"cargo:rustc-link-search={}/sysroot/usr/lib/aarch64-linux-ohos",
ohos_sdk_path
);
}
}
fn main() {
let target_env_ohos = matches!(std::env::var("CARGO_CFG_TARGET_ENV"), Ok(ret) if ret == "ohos");
if target_env_ohos {
println!("cargo:rerun-if-env-changed=OHOS_SDK");
ohos_env_configure();
} else if cfg!(any(
feature = "demo_device",
feature = "gtk",
feature = "ramfb",
feature = "virtio_gpu",
feature = "vnc",
)) {
println!("cargo:rustc-link-arg=-lpixman-1");
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化