Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
181
third-party/vendor/wayland-protocols/build.rs
vendored
Normal file
181
third-party/vendor/wayland-protocols/build.rs
vendored
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
extern crate wayland_scanner;
|
||||
|
||||
use std::env::var;
|
||||
use std::path::Path;
|
||||
use wayland_scanner::*;
|
||||
|
||||
#[rustfmt::skip]
|
||||
type StableProtocol<'a> = (&'a str, &'a [(&'a str, &'a str)]);
|
||||
type VersionedProtocol<'a> = (&'a str, &'a [(&'a str, &'a [(&'a str, &'a str)])]);
|
||||
// ^ ^ ^ ^ ^ ^
|
||||
// | | | | | |
|
||||
// Name | | | | Name of event to specify as
|
||||
// Versions | | | destructor
|
||||
// Version | |
|
||||
// | Interface the event is belongs to
|
||||
// |
|
||||
// Events to specify as destructors
|
||||
|
||||
static STABLE_PROTOCOLS: &[StableProtocol] =
|
||||
&[("presentation-time", &[]), ("viewporter", &[]), ("xdg-shell", &[])];
|
||||
|
||||
static STAGING_PROTOCOLS: &[VersionedProtocol] = &[("xdg-activation", &[("v1", &[])])];
|
||||
|
||||
static UNSTABLE_PROTOCOLS: &[VersionedProtocol] = &[
|
||||
("fullscreen-shell", &[("v1", &[])]),
|
||||
("idle-inhibit", &[("v1", &[])]),
|
||||
("input-method", &[("v1", &[])]),
|
||||
("input-timestamps", &[("v1", &[])]),
|
||||
("keyboard-shortcuts-inhibit", &[("v1", &[])]),
|
||||
("linux-dmabuf", &[("v1", &[])]),
|
||||
(
|
||||
"linux-explicit-synchronization",
|
||||
&[(
|
||||
"v1",
|
||||
&[
|
||||
("zwp_linux_buffer_release_v1", "fenced_release"),
|
||||
("zwp_linux_buffer_release_v1", "immediate_release"),
|
||||
],
|
||||
)],
|
||||
),
|
||||
("pointer-constraints", &[("v1", &[])]),
|
||||
("pointer-gestures", &[("v1", &[])]),
|
||||
("primary-selection", &[("v1", &[])]),
|
||||
("relative-pointer", &[("v1", &[])]),
|
||||
("tablet", &[("v1", &[]), ("v2", &[])]),
|
||||
("text-input", &[("v1", &[]), ("v3", &[])]),
|
||||
("xdg-decoration", &[("v1", &[])]),
|
||||
("xdg-foreign", &[("v1", &[]), ("v2", &[])]),
|
||||
("xdg-output", &[("v1", &[])]),
|
||||
("xdg-shell", &[("v5", &[]), ("v6", &[])]),
|
||||
("xwayland-keyboard-grab", &[("v1", &[])]),
|
||||
];
|
||||
|
||||
static WLR_UNSTABLE_PROTOCOLS: &[VersionedProtocol] = &[
|
||||
("wlr-data-control", &[("v1", &[])]),
|
||||
("wlr-export-dmabuf", &[("v1", &[])]),
|
||||
("wlr-foreign-toplevel-management", &[("v1", &[])]),
|
||||
("wlr-gamma-control", &[("v1", &[])]),
|
||||
("wlr-input-inhibitor", &[("v1", &[])]),
|
||||
("wlr-layer-shell", &[("v1", &[])]),
|
||||
("wlr-output-management", &[("v1", &[])]),
|
||||
("wlr-output-power-management", &[("v1", &[])]),
|
||||
("wlr-screencopy", &[("v1", &[])]),
|
||||
("wlr-virtual-pointer", &[("v1", &[])]),
|
||||
];
|
||||
|
||||
static MISC_PROTOCOLS: &[StableProtocol] = &[
|
||||
("gtk-primary-selection", &[]),
|
||||
("input-method-unstable-v2", &[]),
|
||||
("server-decoration", &[]),
|
||||
];
|
||||
|
||||
fn generate_protocol(
|
||||
name: &str,
|
||||
protocol_file: &Path,
|
||||
out_dir: &Path,
|
||||
client: bool,
|
||||
server: bool,
|
||||
dest_events: &[(&str, &str)],
|
||||
) {
|
||||
println!("cargo:rerun-if-changed={}", protocol_file.display());
|
||||
|
||||
if client {
|
||||
generate_code_with_destructor_events(
|
||||
&protocol_file,
|
||||
out_dir.join(&format!("{}_client_api.rs", name)),
|
||||
Side::Client,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
if server {
|
||||
generate_code_with_destructor_events(
|
||||
&protocol_file,
|
||||
out_dir.join(&format!("{}_server_api.rs", name)),
|
||||
Side::Server,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
println!("cargo:rerun-if-changed-env=CARGO_FEATURE_CLIENT");
|
||||
println!("cargo:rerun-if-changed-env=CARGO_FEATURE_SERVER");
|
||||
println!("cargo:rerun-if-changed-env=CARGO_FEATURE_UNSTABLE_PROTOCOLS");
|
||||
|
||||
let out_dir_str = var("OUT_DIR").unwrap();
|
||||
let out_dir = Path::new(&out_dir_str);
|
||||
|
||||
let client = var("CARGO_FEATURE_CLIENT").ok().is_some();
|
||||
let server = var("CARGO_FEATURE_SERVER").ok().is_some();
|
||||
|
||||
for &(name, dest_events) in STABLE_PROTOCOLS {
|
||||
let file = format!("{name}/{name}.xml", name = name);
|
||||
generate_protocol(
|
||||
name,
|
||||
&Path::new("./protocols/stable").join(&file),
|
||||
out_dir,
|
||||
client,
|
||||
server,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
|
||||
if var("CARGO_FEATURE_STAGING_PROTOCOLS").ok().is_some() {
|
||||
for &(name, versions) in STAGING_PROTOCOLS {
|
||||
for &(version, dest_events) in versions {
|
||||
let file = format!("{name}/{name}-{version}.xml", name = name, version = version);
|
||||
generate_protocol(
|
||||
&format!("{name}-{version}", name = name, version = version),
|
||||
&Path::new("./protocols/staging").join(&file),
|
||||
out_dir,
|
||||
client,
|
||||
server,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for &(name, dest_events) in MISC_PROTOCOLS {
|
||||
let file = format!("{name}.xml", name = name);
|
||||
generate_protocol(
|
||||
name,
|
||||
&Path::new("./misc").join(&file),
|
||||
out_dir,
|
||||
client,
|
||||
server,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
|
||||
if var("CARGO_FEATURE_UNSTABLE_PROTOCOLS").ok().is_some() {
|
||||
for &(name, versions) in UNSTABLE_PROTOCOLS {
|
||||
for &(version, dest_events) in versions {
|
||||
let file =
|
||||
format!("{name}/{name}-unstable-{version}.xml", name = name, version = version);
|
||||
generate_protocol(
|
||||
&format!("{name}-{version}", name = name, version = version),
|
||||
&Path::new("./protocols/unstable").join(file),
|
||||
out_dir,
|
||||
client,
|
||||
server,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
}
|
||||
for &(name, versions) in WLR_UNSTABLE_PROTOCOLS {
|
||||
for &(version, dest_events) in versions {
|
||||
let file = format!("{name}-unstable-{version}.xml", name = name, version = version);
|
||||
generate_protocol(
|
||||
&format!("{name}-{version}", name = name, version = version),
|
||||
&Path::new("./wlr-protocols/unstable").join(file),
|
||||
out_dir,
|
||||
client,
|
||||
server,
|
||||
dest_events,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue