scirs2-core 0.1.3

Core utilities and common functionality for SciRS2 (scirs2-core)
Documentation
fn main() {
    // NOTE: Pure Rust implementation using OxiBLAS
    // All system BLAS/LAPACK dependencies have been removed
    // Linear algebra operations now use Pure Rust OxiBLAS (enabled via 'linalg' feature)

    #[cfg(target_os = "macos")]
    {
        // Compile MPSGraph Objective-C wrapper if mpsgraph feature is enabled
        // Note: This is a GPU-specific feature and unavoidable for Metal acceleration
        #[cfg(feature = "mpsgraph")]
        {
            cc::Build::new()
                .file("src/gpu/backends/mpsgraph_wrapper.m")
                .flag("-fobjc-arc") // Enable ARC for automatic memory management
                .flag("-Wno-deprecated-declarations")
                .compile("mpsgraph_wrapper");

            // Link Metal frameworks
            println!("cargo:rustc-link-lib=framework=Foundation");
            println!("cargo:rustc-link-lib=framework=Metal");
            println!("cargo:rustc-link-lib=framework=MetalPerformanceShadersGraph");

            // Rerun if wrapper source changes
            println!("cargo:rerun-if-changed=src/gpu/backends/mpsgraph_wrapper.m");
        }
    }
}