diff options
Diffstat (limited to 'libs/all_in_one/build.rs')
| -rw-r--r-- | libs/all_in_one/build.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/all_in_one/build.rs b/libs/all_in_one/build.rs new file mode 100644 index 0000000..25a4b99 --- /dev/null +++ b/libs/all_in_one/build.rs @@ -0,0 +1,27 @@ +extern crate cbindgen; + +use cbindgen::{Config, Language}; +use std::env; +use std::error::Error; +use std::path::PathBuf; + +/// Generates the headers for the go program. +fn main() -> Result<(), Box<dyn Error>> { + let crate_dir = env::var("CARGO_MANIFEST_DIR")?; + let package_name = env::var("CARGO_PKG_NAME")?; + + // We export the header file to build/{package_name}.h + let output_file = PathBuf::from("../../internal/pkg/all-in-one") + .join(format!("{}.h", package_name)) + .display() + .to_string(); + + let config = Config { + language: Language::C, + ..Default::default() + }; + + cbindgen::generate_with_config(crate_dir, config)?.write_to_file(output_file); + + Ok(()) +} |
