// 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"); } }