Merge branch 'fix/windows-cargo-check' into 'master'
Fix Windows cargo check See merge request videolan/vlc-rs!25merge-requests/25/merge
commit
726e497e7d
|
|
@ -17,110 +17,7 @@ pub const LIBVLC_EVENTS_H: u32 = 1;
|
||||||
pub const LIBVLC_DIALOG_H: u32 = 1;
|
pub const LIBVLC_DIALOG_H: u32 = 1;
|
||||||
pub const LIBVLC_VLM_H: u32 = 1;
|
pub const LIBVLC_VLM_H: u32 = 1;
|
||||||
pub const LIBVLC_DEPRECATED_H: u32 = 1;
|
pub const LIBVLC_DEPRECATED_H: u32 = 1;
|
||||||
pub type __off_t = libc::c_long;
|
pub type FILE = libc::FILE;
|
||||||
pub type __off64_t = libc::c_long;
|
|
||||||
pub type FILE = _IO_FILE;
|
|
||||||
#[repr(C)]
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
|
||||||
pub struct _IO_marker {
|
|
||||||
_unused: [u8; 0],
|
|
||||||
}
|
|
||||||
#[repr(C)]
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
|
||||||
pub struct _IO_codecvt {
|
|
||||||
_unused: [u8; 0],
|
|
||||||
}
|
|
||||||
#[repr(C)]
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
|
||||||
pub struct _IO_wide_data {
|
|
||||||
_unused: [u8; 0],
|
|
||||||
}
|
|
||||||
pub type _IO_lock_t = libc::c_void;
|
|
||||||
#[repr(C)]
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
|
||||||
pub struct _IO_FILE {
|
|
||||||
pub _flags: libc::c_int,
|
|
||||||
pub _IO_read_ptr: *mut libc::c_char,
|
|
||||||
pub _IO_read_end: *mut libc::c_char,
|
|
||||||
pub _IO_read_base: *mut libc::c_char,
|
|
||||||
pub _IO_write_base: *mut libc::c_char,
|
|
||||||
pub _IO_write_ptr: *mut libc::c_char,
|
|
||||||
pub _IO_write_end: *mut libc::c_char,
|
|
||||||
pub _IO_buf_base: *mut libc::c_char,
|
|
||||||
pub _IO_buf_end: *mut libc::c_char,
|
|
||||||
pub _IO_save_base: *mut libc::c_char,
|
|
||||||
pub _IO_backup_base: *mut libc::c_char,
|
|
||||||
pub _IO_save_end: *mut libc::c_char,
|
|
||||||
pub _markers: *mut _IO_marker,
|
|
||||||
pub _chain: *mut _IO_FILE,
|
|
||||||
pub _fileno: libc::c_int,
|
|
||||||
pub _flags2: libc::c_int,
|
|
||||||
pub _old_offset: __off_t,
|
|
||||||
pub _cur_column: libc::c_ushort,
|
|
||||||
pub _vtable_offset: libc::c_schar,
|
|
||||||
pub _shortbuf: [libc::c_char; 1usize],
|
|
||||||
pub _lock: *mut _IO_lock_t,
|
|
||||||
pub _offset: __off64_t,
|
|
||||||
pub _codecvt: *mut _IO_codecvt,
|
|
||||||
pub _wide_data: *mut _IO_wide_data,
|
|
||||||
pub _freeres_list: *mut _IO_FILE,
|
|
||||||
pub _freeres_buf: *mut libc::c_void,
|
|
||||||
pub __pad5: usize,
|
|
||||||
pub _mode: libc::c_int,
|
|
||||||
pub _unused2: [libc::c_char; 20usize],
|
|
||||||
}
|
|
||||||
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
|
|
||||||
const _: () = {
|
|
||||||
["Size of _IO_FILE"][::core::mem::size_of::<_IO_FILE>() - 216usize];
|
|
||||||
["Alignment of _IO_FILE"][::core::mem::align_of::<_IO_FILE>() - 8usize];
|
|
||||||
["Offset of field: _IO_FILE::_flags"][::core::mem::offset_of!(_IO_FILE, _flags) - 0usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_read_ptr"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_read_ptr) - 8usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_read_end"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_read_end) - 16usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_read_base"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_read_base) - 24usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_write_base"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_write_base) - 32usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_write_ptr"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_write_ptr) - 40usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_write_end"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_write_end) - 48usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_buf_base"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_buf_base) - 56usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_buf_end"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_buf_end) - 64usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_save_base"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_save_base) - 72usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_backup_base"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_backup_base) - 80usize];
|
|
||||||
["Offset of field: _IO_FILE::_IO_save_end"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _IO_save_end) - 88usize];
|
|
||||||
["Offset of field: _IO_FILE::_markers"][::core::mem::offset_of!(_IO_FILE, _markers) - 96usize];
|
|
||||||
["Offset of field: _IO_FILE::_chain"][::core::mem::offset_of!(_IO_FILE, _chain) - 104usize];
|
|
||||||
["Offset of field: _IO_FILE::_fileno"][::core::mem::offset_of!(_IO_FILE, _fileno) - 112usize];
|
|
||||||
["Offset of field: _IO_FILE::_flags2"][::core::mem::offset_of!(_IO_FILE, _flags2) - 116usize];
|
|
||||||
["Offset of field: _IO_FILE::_old_offset"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _old_offset) - 120usize];
|
|
||||||
["Offset of field: _IO_FILE::_cur_column"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _cur_column) - 128usize];
|
|
||||||
["Offset of field: _IO_FILE::_vtable_offset"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _vtable_offset) - 130usize];
|
|
||||||
["Offset of field: _IO_FILE::_shortbuf"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _shortbuf) - 131usize];
|
|
||||||
["Offset of field: _IO_FILE::_lock"][::core::mem::offset_of!(_IO_FILE, _lock) - 136usize];
|
|
||||||
["Offset of field: _IO_FILE::_offset"][::core::mem::offset_of!(_IO_FILE, _offset) - 144usize];
|
|
||||||
["Offset of field: _IO_FILE::_codecvt"][::core::mem::offset_of!(_IO_FILE, _codecvt) - 152usize];
|
|
||||||
["Offset of field: _IO_FILE::_wide_data"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _wide_data) - 160usize];
|
|
||||||
["Offset of field: _IO_FILE::_freeres_list"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _freeres_list) - 168usize];
|
|
||||||
["Offset of field: _IO_FILE::_freeres_buf"]
|
|
||||||
[::core::mem::offset_of!(_IO_FILE, _freeres_buf) - 176usize];
|
|
||||||
["Offset of field: _IO_FILE::__pad5"][::core::mem::offset_of!(_IO_FILE, __pad5) - 184usize];
|
|
||||||
["Offset of field: _IO_FILE::_mode"][::core::mem::offset_of!(_IO_FILE, _mode) - 192usize];
|
|
||||||
["Offset of field: _IO_FILE::_unused2"][::core::mem::offset_of!(_IO_FILE, _unused2) - 196usize];
|
|
||||||
};
|
|
||||||
unsafe extern "C" {
|
unsafe extern "C" {
|
||||||
pub fn vsnprintf(
|
pub fn vsnprintf(
|
||||||
__s: *mut libc::c_char,
|
__s: *mut libc::c_char,
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,13 @@
|
||||||
/// Minimum supported libvlc version.
|
/// Minimum supported libvlc version.
|
||||||
const MIN_LIBVLC_VERSION: &str = "3.0.0";
|
const MIN_LIBVLC_VERSION: &str = "3.0.0";
|
||||||
|
|
||||||
|
// `vswhom-sys` compiles a C++ helper that calls the Windows Registry API, but
|
||||||
|
// does not declare its Advapi32 dependency. Declare it here so this build
|
||||||
|
// script can itself be linked before it runs.
|
||||||
|
#[cfg(target_os = "windows")]
|
||||||
|
#[link(name = "advapi32")]
|
||||||
|
unsafe extern "C" {}
|
||||||
|
|
||||||
/// Locate libvlc via pkg-config.
|
/// Locate libvlc via pkg-config.
|
||||||
fn probe_libvlc() -> Result<pkg_config::Library, pkg_config::Error> {
|
fn probe_libvlc() -> Result<pkg_config::Library, pkg_config::Error> {
|
||||||
pkg_config::Config::new()
|
pkg_config::Config::new()
|
||||||
|
|
@ -125,11 +132,11 @@ mod windows {
|
||||||
fn main() {
|
fn main() {
|
||||||
// On success pkg-config has already emitted the link directives; only the
|
// On success pkg-config has already emitted the link directives; only the
|
||||||
// failure path needs handling.
|
// failure path needs handling.
|
||||||
if let Err(err) = probe_libvlc() {
|
if let Err(_err) = probe_libvlc() {
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
windows::link_vlc();
|
windows::link_vlc();
|
||||||
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
panic!("libvlc (>= {}) not found: {:?}", MIN_LIBVLC_VERSION, err);
|
panic!("libvlc (>= {}) not found: {:?}", MIN_LIBVLC_VERSION, _err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,12 @@ fn generate_bindings() {
|
||||||
// Required by the Windows `legacy_stdio_definitions` link workaround
|
// Required by the Windows `legacy_stdio_definitions` link workaround
|
||||||
// (see libvlc-sys/build.rs).
|
// (see libvlc-sys/build.rs).
|
||||||
.allowlist_function("vsnprintf")
|
.allowlist_function("vsnprintf")
|
||||||
|
// `FILE` is platform-specific. The bindings only use it behind a
|
||||||
|
// pointer, so use libc's target-appropriate opaque definition instead
|
||||||
|
// of embedding the host platform's C library internals.
|
||||||
|
.blocklist_type("FILE")
|
||||||
|
.blocklist_type("_IO_.*")
|
||||||
|
.raw_line("pub type FILE = libc::FILE;")
|
||||||
// Block the whole va_list family and rewrite the parameters bindings to our own `VaList`,
|
// Block the whole va_list family and rewrite the parameters bindings to our own `VaList`,
|
||||||
// which is ABI-correct on every target.
|
// which is ABI-correct on every target.
|
||||||
.blocklist_type(".*va_list.*")
|
.blocklist_type(".*va_list.*")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue