// macOS (and iOS) has a concept of universal (fat) binaries which contain code for multiple CPU // architectures in the same file. Apple is migrating from x86_64 to aarch64 CPUs, // so for the next few years it will be important for macOS developers to // build "fat" binaries (executables and cdylibs). // Rustc used to be unable to handle these special libraries, which was fixed in #98736. If // compilation in this test is successful, the native fat library was successfully linked to. // See https://github.com/rust-lang/rust/issues/55235 //@ only-apple use run_make_support::{cc, llvm_ar, rustc}; fn main() { cc().args(&["-arch", "arm64", "-arch", "x86_64", "native-library.c", "-c"]) .out_exe("native-library.o") .run(); llvm_ar().obj_to_ar().output_input("libnative-library.a", "native-library.o").run(); rustc().input("lib.rs").crate_type("lib").arg("-lstatic=native-library").run(); }