aboutsummaryrefslogtreecommitdiff
path: root/vendor/windows-targets/src
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/windows-targets/src')
-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)*;
+ }
+ )
+}