diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-23 12:57:19 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-23 12:58:02 +0200 |
commit | 0ae5018c33cc4bfe27583c9902472b499f4bd269 (patch) | |
tree | afc2fbfcb126215f47afbc32e555d203d4d6d88c /crates/libmpv2/libmpv2-sys/build.rs | |
parent | chore(yt_dlp/progress_hook): Also consider the `total_bytes_estimate` field (diff) | |
download | yt-0ae5018c33cc4bfe27583c9902472b499f4bd269.tar.gz yt-0ae5018c33cc4bfe27583c9902472b499f4bd269.zip |
refactor(libmpv2): Move to the `crates` directory
Diffstat (limited to 'crates/libmpv2/libmpv2-sys/build.rs')
-rw-r--r-- | crates/libmpv2/libmpv2-sys/build.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/crates/libmpv2/libmpv2-sys/build.rs b/crates/libmpv2/libmpv2-sys/build.rs new file mode 100644 index 0000000..bf9a02e --- /dev/null +++ b/crates/libmpv2/libmpv2-sys/build.rs @@ -0,0 +1,43 @@ +// yt - A fully featured command line YouTube client +// +// Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de> +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This file is part of Yt. +// +// You should have received a copy of the License along with this program. +// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. + +use std::env; +use std::path::PathBuf; + +fn main() { + let bindings = bindgen::Builder::default() + .formatter(bindgen::Formatter::Prettyplease) + .header("include/client.h") + .header("include/render.h") + .header("include/render_gl.h") + .header("include/stream_cb.h") + .impl_debug(true) + .opaque_type("mpv_handle") + .opaque_type("mpv_render_context") + .enable_function_attribute_detection() + .clang_args(&[ + "-fretain-comments-from-system-headers", + &format!( + "--include-directory={}", + env::var("LIBCLANG_INCLUDE_PATH").unwrap() + ), + "--verbose", + ]) + .generate_comments(true) + .generate() + .expect("Unable to generate bindings"); + + let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); + bindings + .write_to_file(out_path.join("bindings.rs")) + .expect("Couldn't write bindings!"); + + println!("cargo:rustc-link-lib=mpv"); +} |