summaryrefslogtreecommitdiff
path: root/vendor/windows-targets/src/lib.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/windows-targets/src/lib.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/windows-targets/src/lib.rs')
-rw-r--r--vendor/windows-targets/src/lib.rs55
1 files changed, 55 insertions, 0 deletions
diff --git a/vendor/windows-targets/src/lib.rs b/vendor/windows-targets/src/lib.rs
new file mode 100644
index 0000000..64ebb50
--- /dev/null
+++ b/vendor/windows-targets/src/lib.rs
@@ -0,0 +1,55 @@
+/*!
+Learn more about Rust for Windows here: <https://github.com/microsoft/windows-rs>
+*/
+
+#![no_std]
+
+#[cfg(all(windows_raw_dylib, target_arch = "x86"))]
+#[macro_export]
+macro_rules! link {
+ ($library:literal $abi:literal $($link_name:literal)? $(#[$doc:meta])? fn $($function:tt)*) => (
+ #[link(name = $library, kind = "raw-dylib", modifiers = "+verbatim", import_name_type = "undecorated")]
+ extern $abi {
+ $(#[$doc])?
+ $(#[link_name=$link_name])?
+ pub fn $($function)*;
+ }
+ )
+}
+
+#[cfg(all(windows_raw_dylib, not(target_arch = "x86")))]
+#[macro_export]
+macro_rules! link {
+ ($library:literal $abi:literal $($link_name:literal)? $(#[$doc:meta])? fn $($function:tt)*) => (
+ #[link(name = $library, kind = "raw-dylib", modifiers = "+verbatim")]
+ extern "C" {
+ $(#[$doc])?
+ $(#[link_name=$link_name])?
+ pub fn $($function)*;
+ }
+ )
+}
+
+#[cfg(all(windows, not(windows_raw_dylib)))]
+#[macro_export]
+macro_rules! link {
+ ($library:literal $abi:literal $($link_name:literal)? $(#[$doc:meta])? fn $($function:tt)*) => (
+ #[link(name = "windows.0.52.0")]
+ extern $abi {
+ $(#[$doc])?
+ $(#[link_name=$link_name])?
+ pub fn $($function)*;
+ }
+ )
+}
+
+#[cfg(all(not(windows), not(windows_raw_dylib)))]
+#[macro_export]
+macro_rules! link {
+ ($library:literal $abi:literal $($link_name:literal)? $(#[$doc:meta])? fn $($function:tt)*) => (
+ extern $abi {
+ $(#[$doc])?
+ pub fn $($function)*;
+ }
+ )
+}