diff --git a/src/standalone.rs b/src/standalone.rs index c1f3913..73b68b1 100644 --- a/src/standalone.rs +++ b/src/standalone.rs @@ -85,7 +85,7 @@ pub unsafe fn set_log_callback( whisper_rs_sys::whisper_log_set(log_callback, user_data); #[cfg(feature = "metal")] { - whisper_rs_sys::ggml_metal_log_set_callback(log_callback, user_data); + whisper_rs_sys::ggml_backend_metal_log_set_callback(log_callback, user_data); } } } diff --git a/src/whisper_sys_log.rs b/src/whisper_sys_log.rs index 5e58239..ba2e51d 100644 --- a/src/whisper_sys_log.rs +++ b/src/whisper_sys_log.rs @@ -40,7 +40,7 @@ pub fn install_whisper_log_trampoline() { whisper_rs_sys::whisper_log_set(Some(whisper_cpp_log_trampoline), std::ptr::null_mut()); #[cfg(feature = "metal")] { - whisper_rs_sys::ggml_metal_log_set_callback( + whisper_rs_sys::ggml_backend_metal_log_set_callback( Some(whisper_cpp_log_trampoline), std::ptr::null_mut(), ); diff --git a/src/whisper_sys_tracing.rs b/src/whisper_sys_tracing.rs index eeae123..ea24b54 100644 --- a/src/whisper_sys_tracing.rs +++ b/src/whisper_sys_tracing.rs @@ -40,7 +40,7 @@ pub fn install_whisper_tracing_trampoline() { whisper_rs_sys::whisper_log_set(Some(whisper_cpp_tracing_trampoline), std::ptr::null_mut()); #[cfg(feature = "metal")] { - whisper_rs_sys::ggml_metal_log_set_callback( + whisper_rs_sys::ggml_backend_metal_log_set_callback( Some(whisper_cpp_tracing_trampoline), std::ptr::null_mut(), ); diff --git a/sys/build.rs b/sys/build.rs index 05ae8b2..73576c5 100644 --- a/sys/build.rs +++ b/sys/build.rs @@ -141,6 +141,7 @@ fn main() { if cfg!(feature = "metal") { config.define("WHISPER_METAL", "ON"); config.define("WHISPER_METAL_NDEBUG", "ON"); + config.define("WHISPER_METAL_EMBED_LIBRARY", "ON"); } else { // Metal is enabled by default, so we need to explicitly disable it config.define("WHISPER_METAL", "OFF"); @@ -174,20 +175,6 @@ fn main() { // for whatever reason this file is generated during build and triggers cargo complaining _ = std::fs::remove_file("bindings/javascript/package.json"); - - if cfg!(feature = "metal") { - // copy metal shader to the root of the crate - let _ = std::fs::copy( - out.join("whisper.cpp").join("ggml-metal.metal"), - out.parent() - .unwrap() - .parent() - .unwrap() - .parent() - .unwrap() - .join("ggml-metal.metal"), - ); - } } // From https://github.com/alexcrichton/cc-rs/blob/fba7feded71ee4f63cfe885673ead6d7b4f2f454/src/lib.rs#L2462