mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2025-01-11 13:31:29 +11:00
Make it work on DragonFly/FreeBSD
Tested on DragonFly BSD. Should work similarily on FreeBSD.
This commit is contained in:
parent
b8b1b80631
commit
b707959c2c
14
Cargo.toml
14
Cargo.toml
|
@ -108,3 +108,17 @@ wayland-client = { version = "0.2.1", features = ["egl", "dlopen"] }
|
|||
wayland-kbd = "0.2.0"
|
||||
wayland-window = "0.1.0"
|
||||
x11-dl = "~2.0"
|
||||
|
||||
[target.x86_64-unknown-dragonfly.dependencies]
|
||||
osmesa-sys = "0.0.5"
|
||||
wayland-client = { version = "0.2.1", features = ["egl", "dlopen"] }
|
||||
wayland-kbd = "0.2.0"
|
||||
wayland-window = "0.1.0"
|
||||
x11-dl = "~2.0"
|
||||
|
||||
[target.x86_64-unknown-freebsd.dependencies]
|
||||
osmesa-sys = "0.0.5"
|
||||
wayland-client = { version = "0.2.1", features = ["egl", "dlopen"] }
|
||||
wayland-kbd = "0.2.0"
|
||||
wayland-window = "0.1.0"
|
||||
x11-dl = "~2.0"
|
||||
|
|
2
build.rs
2
build.rs
|
@ -59,7 +59,7 @@ fn main() {
|
|||
"1.5", "core", &mut file).unwrap();
|
||||
}
|
||||
|
||||
if target.contains("linux") {
|
||||
if target.contains("linux") || target.contains("dragonfly") || target.contains("freebsd") {
|
||||
let mut file = File::create(&dest.join("glx_bindings.rs")).unwrap();
|
||||
gl_generator::generate_bindings(gl_generator::StructGenerator,
|
||||
gl_generator::registry::Ns::Glx,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![cfg(target_os = "linux")]
|
||||
#![cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"))]
|
||||
#![allow(dead_code)]
|
||||
|
||||
use libc;
|
||||
|
|
|
@ -33,3 +33,5 @@ pub type EGLNativeWindowType = winapi::HWND;
|
|||
pub type EGLNativeWindowType = *const libc::c_void;
|
||||
#[cfg(target_os = "android")]
|
||||
pub type EGLNativeWindowType = *const libc::c_void;
|
||||
#[cfg(any(target_os = "dragonfly", target_os = "freebsd"))]
|
||||
pub type EGLNativeWindowType = *const libc::c_void;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#![cfg(any(target_os = "windows", target_os = "linux", target_os = "android"))]
|
||||
#![cfg(any(target_os = "windows", target_os = "linux", target_os = "android",
|
||||
target_os = "dragonfly", target_os = "freebsd"))]
|
||||
#![allow(unused_variables)]
|
||||
|
||||
use BuilderAttribs;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![cfg(all(target_os = "linux", feature = "window"))]
|
||||
#![cfg(all(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"), feature = "window"))]
|
||||
|
||||
use BuilderAttribs;
|
||||
use ContextError;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![cfg(any(target_os = "linux", target_os = "freebsd"))]
|
||||
#![cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly"))]
|
||||
|
||||
extern crate osmesa_sys;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![cfg(target_os = "linux")]
|
||||
#![cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"))]
|
||||
#![allow(unused_variables, dead_code)]
|
||||
|
||||
use self::wayland::egl::{EGLSurface, is_egl_available};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![cfg(all(target_os = "linux", feature = "window"))]
|
||||
#![cfg(all(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"), feature = "window"))]
|
||||
|
||||
pub use self::monitor::{MonitorID, get_available_monitors, get_primary_monitor};
|
||||
pub use self::window::{Window, XWindow, PollEventsIterator, WaitEventsIterator, Context, WindowProxy};
|
||||
|
|
|
@ -55,7 +55,7 @@ extern crate cocoa;
|
|||
extern crate core_foundation;
|
||||
#[cfg(target_os = "macos")]
|
||||
extern crate core_graphics;
|
||||
#[cfg(any(target_os = "linux", target_os = "freebsd"))]
|
||||
#[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly"))]
|
||||
extern crate x11_dl;
|
||||
|
||||
pub use events::*;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![cfg(target_os = "linux")]
|
||||
#![cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"))]
|
||||
|
||||
use Api;
|
||||
use BuilderAttribs;
|
||||
|
|
|
@ -3,7 +3,7 @@ pub use self::platform::*;
|
|||
#[cfg(target_os = "windows")]
|
||||
#[path="windows/mod.rs"]
|
||||
mod platform;
|
||||
#[cfg(target_os = "linux")]
|
||||
#[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"))]
|
||||
#[path="linux/mod.rs"]
|
||||
mod platform;
|
||||
#[cfg(target_os = "macos")]
|
||||
|
@ -16,5 +16,7 @@ mod platform;
|
|||
#[path="ios/mod.rs"]
|
||||
mod platform;
|
||||
|
||||
#[cfg(all(not(target_os = "ios"), not(target_os = "windows"), not(target_os = "linux"), not(target_os = "macos"), not(target_os = "android")))]
|
||||
#[cfg(all(not(target_os = "ios"), not(target_os = "windows"), not(target_os = "linux"),
|
||||
not(target_os = "macos"), not(target_os = "android"), not(target_os = "dragonfly"),
|
||||
not(target_os = "freebsd")))]
|
||||
use this_platform_is_not_supported;
|
||||
|
|
Loading…
Reference in a new issue