shiguredo_container 2026.1.0-canary.8

Runtime-agnostic container library for Rust on macOS and Linux
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fn main() {
    println!("cargo:rerun-if-changed=src/xpc_bridge.c");
    println!("cargo:rerun-if-changed=src/xpc_bridge.h");
    // docs.rs は Linux ホスト上で macOS ターゲットのドキュメントをビルドするため、
    // macOS SDK を要する C コンパイルは通らない。rustdoc はリンクを行わないので
    // ネイティブライブラリが無くてもドキュメント生成には支障がない。
    if std::env::var("DOCS_RS").is_ok() {
        return;
    }
    // cfg!(target_os) はビルドスクリプトを実行するホスト OS を見てしまうため、
    // クロスコンパイルでも正しく判定できる CARGO_CFG_TARGET_OS を使う。
    if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("macos") {
        cc::Build::new()
            .file("src/xpc_bridge.c")
            .flag("-fblocks")
            .compile("xpc_bridge");
    }
}