Initial commit

This commit is contained in:
0/0 2022-10-09 20:17:31 -06:00
commit e12122a6ed
No known key found for this signature in database
GPG key ID: DE8D5010C0AAA3DC
15 changed files with 927 additions and 0 deletions

11
sys/Cargo.toml Normal file
View file

@ -0,0 +1,11 @@
[package]
name = "whisper-cpp-sys"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[build-dependencies]
bindgen = "0.60"

38
sys/build.rs Normal file
View file

@ -0,0 +1,38 @@
extern crate bindgen;
use std::env;
use std::path::PathBuf;
fn main() {
// Tell cargo to look for shared libraries in the specified directory
println!("cargo:rustc-link-search=whisper.cpp");
// Tell cargo to tell rustc to link the system bzip2
// shared library.
println!("cargo:rustc-link-lib=static=whisper");
// Tell cargo to invalidate the built crate whenever the wrapper changes
println!("cargo:rerun-if-changed=wrapper.h");
// The bindgen::Builder is the main entry point
// to bindgen, and lets you build up options for
// the resulting bindings.
let bindings = bindgen::Builder::default()
// The input header we would like to generate
// bindings for.
.header("wrapper.h")
.clang_arg("-I/home/deck/CLionProjects/whisper.cpp")
// Tell cargo to invalidate the built crate whenever any of the
// included header files changed.
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
// Finish the builder and generate the bindings.
.generate()
// Unwrap the Result and panic on failure.
.expect("Unable to generate bindings");
// Write the bindings to the $OUT_DIR/bindings.rs file.
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
bindings
.write_to_file(out_path.join("bindings.rs"))
.expect("Couldn't write bindings!");
}

5
sys/src/lib.rs Normal file
View file

@ -0,0 +1,5 @@
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));

1
sys/whisper.cpp Submodule

@ -0,0 +1 @@
Subproject commit 7edaa7da4bdd072890c312ed764fc62b1fadb98f

1
sys/wrapper.h Normal file
View file

@ -0,0 +1 @@
#include <whisper.h>