From 213a0bd2dfb703da646701b56a2aed81105040ad Mon Sep 17 00:00:00 2001 From: Kenny Kerr Date: Thu, 22 Feb 2024 10:12:42 -0600 Subject: [PATCH] targets linker --- crates/libs/targets/Cargo.toml | 16 ++++++++-------- crates/libs/targets/src/lib.rs | 2 +- crates/targets/aarch64_gnullvm/Cargo.toml | 2 +- ...ibwindows.0.52.1.a => libwindows.0.52.0.a} | Bin crates/targets/aarch64_msvc/Cargo.toml | 2 +- ...{windows.0.52.1.lib => windows.0.52.0.lib} | Bin crates/targets/i686_gnu/Cargo.toml | 2 +- ...ibwindows.0.52.1.a => libwindows.0.52.0.a} | Bin crates/targets/i686_msvc/Cargo.toml | 2 +- ...{windows.0.52.1.lib => windows.0.52.0.lib} | Bin crates/targets/x86_64_gnu/Cargo.toml | 2 +- ...ibwindows.0.52.1.a => libwindows.0.52.0.a} | Bin crates/targets/x86_64_gnullvm/Cargo.toml | 2 +- ...ibwindows.0.52.1.a => libwindows.0.52.0.a} | Bin crates/targets/x86_64_msvc/Cargo.toml | 2 +- ...{windows.0.52.1.lib => windows.0.52.0.lib} | Bin crates/tests/targets/tests/files.rs | 18 ++++++++++-------- 17 files changed, 26 insertions(+), 24 deletions(-) rename crates/targets/aarch64_gnullvm/lib/{libwindows.0.52.1.a => libwindows.0.52.0.a} (100%) rename crates/targets/aarch64_msvc/lib/{windows.0.52.1.lib => windows.0.52.0.lib} (100%) rename crates/targets/i686_gnu/lib/{libwindows.0.52.1.a => libwindows.0.52.0.a} (100%) rename crates/targets/i686_msvc/lib/{windows.0.52.1.lib => windows.0.52.0.lib} (100%) rename crates/targets/x86_64_gnu/lib/{libwindows.0.52.1.a => libwindows.0.52.0.a} (100%) rename crates/targets/x86_64_gnullvm/lib/{libwindows.0.52.1.a => libwindows.0.52.0.a} (100%) rename crates/targets/x86_64_msvc/lib/{windows.0.52.1.lib => windows.0.52.0.lib} (100%) diff --git a/crates/libs/targets/Cargo.toml b/crates/libs/targets/Cargo.toml index b6afa9b7d9..7b70bba86d 100644 --- a/crates/libs/targets/Cargo.toml +++ b/crates/libs/targets/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "windows-targets" -version = "0.52.2" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" @@ -14,22 +14,22 @@ readme = "readme.md" workspace = true [target.'cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))'.dependencies] -windows_i686_msvc = { path = "../../targets/i686_msvc", version = "0.52.1" } +windows_i686_msvc = { path = "../../targets/i686_msvc", version = "0.52.3" } [target.'cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib)))'.dependencies] -windows_x86_64_msvc = { path = "../../targets/x86_64_msvc", version = "0.52.1" } +windows_x86_64_msvc = { path = "../../targets/x86_64_msvc", version = "0.52.3" } [target.'cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))'.dependencies] -windows_aarch64_msvc = { path = "../../targets/aarch64_msvc", version = "0.52.1" } +windows_aarch64_msvc = { path = "../../targets/aarch64_msvc", version = "0.52.3" } [target.'cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib)))'.dependencies] -windows_i686_gnu = { path = "../../targets/i686_gnu", version = "0.52.1" } +windows_i686_gnu = { path = "../../targets/i686_gnu", version = "0.52.3" } [target.'cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))'.dependencies] -windows_x86_64_gnu = { path = "../../targets/x86_64_gnu", version = "0.52.1" } +windows_x86_64_gnu = { path = "../../targets/x86_64_gnu", version = "0.52.3" } [target.x86_64-pc-windows-gnullvm.dependencies] -windows_x86_64_gnullvm = { path = "../../targets/x86_64_gnullvm", version = "0.52.1" } +windows_x86_64_gnullvm = { path = "../../targets/x86_64_gnullvm", version = "0.52.3" } [target.aarch64-pc-windows-gnullvm.dependencies] -windows_aarch64_gnullvm = { path = "../../targets/aarch64_gnullvm", version = "0.52.1" } +windows_aarch64_gnullvm = { path = "../../targets/aarch64_gnullvm", version = "0.52.3" } diff --git a/crates/libs/targets/src/lib.rs b/crates/libs/targets/src/lib.rs index 3b8919043c..e4751989f1 100644 --- a/crates/libs/targets/src/lib.rs +++ b/crates/libs/targets/src/lib.rs @@ -35,7 +35,7 @@ macro_rules! link { #[macro_export] macro_rules! link { ($library:literal $abi:literal $($link_name:literal)? $(#[$doc:meta])? fn $($function:tt)*) => ( - #[link(name = "windows.0.52.1")] + #[link(name = "windows.0.52.0")] extern $abi { $(#[link_name=$link_name])? pub fn $($function)*; diff --git a/crates/targets/aarch64_gnullvm/Cargo.toml b/crates/targets/aarch64_gnullvm/Cargo.toml index 472f415f1a..6df824f1ea 100644 --- a/crates/targets/aarch64_gnullvm/Cargo.toml +++ b/crates/targets/aarch64_gnullvm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_aarch64_gnullvm" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/aarch64_gnullvm/lib/libwindows.0.52.1.a b/crates/targets/aarch64_gnullvm/lib/libwindows.0.52.0.a similarity index 100% rename from crates/targets/aarch64_gnullvm/lib/libwindows.0.52.1.a rename to crates/targets/aarch64_gnullvm/lib/libwindows.0.52.0.a diff --git a/crates/targets/aarch64_msvc/Cargo.toml b/crates/targets/aarch64_msvc/Cargo.toml index ec63a69003..10eeabbd1d 100644 --- a/crates/targets/aarch64_msvc/Cargo.toml +++ b/crates/targets/aarch64_msvc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_aarch64_msvc" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/aarch64_msvc/lib/windows.0.52.1.lib b/crates/targets/aarch64_msvc/lib/windows.0.52.0.lib similarity index 100% rename from crates/targets/aarch64_msvc/lib/windows.0.52.1.lib rename to crates/targets/aarch64_msvc/lib/windows.0.52.0.lib diff --git a/crates/targets/i686_gnu/Cargo.toml b/crates/targets/i686_gnu/Cargo.toml index c7ff33cd8d..17be461613 100644 --- a/crates/targets/i686_gnu/Cargo.toml +++ b/crates/targets/i686_gnu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_i686_gnu" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/i686_gnu/lib/libwindows.0.52.1.a b/crates/targets/i686_gnu/lib/libwindows.0.52.0.a similarity index 100% rename from crates/targets/i686_gnu/lib/libwindows.0.52.1.a rename to crates/targets/i686_gnu/lib/libwindows.0.52.0.a diff --git a/crates/targets/i686_msvc/Cargo.toml b/crates/targets/i686_msvc/Cargo.toml index 57c68737e1..5dd363280e 100644 --- a/crates/targets/i686_msvc/Cargo.toml +++ b/crates/targets/i686_msvc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_i686_msvc" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/i686_msvc/lib/windows.0.52.1.lib b/crates/targets/i686_msvc/lib/windows.0.52.0.lib similarity index 100% rename from crates/targets/i686_msvc/lib/windows.0.52.1.lib rename to crates/targets/i686_msvc/lib/windows.0.52.0.lib diff --git a/crates/targets/x86_64_gnu/Cargo.toml b/crates/targets/x86_64_gnu/Cargo.toml index 4c5d612e56..fa9dfcceaf 100644 --- a/crates/targets/x86_64_gnu/Cargo.toml +++ b/crates/targets/x86_64_gnu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_x86_64_gnu" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/x86_64_gnu/lib/libwindows.0.52.1.a b/crates/targets/x86_64_gnu/lib/libwindows.0.52.0.a similarity index 100% rename from crates/targets/x86_64_gnu/lib/libwindows.0.52.1.a rename to crates/targets/x86_64_gnu/lib/libwindows.0.52.0.a diff --git a/crates/targets/x86_64_gnullvm/Cargo.toml b/crates/targets/x86_64_gnullvm/Cargo.toml index 39605579fe..d5687940c7 100644 --- a/crates/targets/x86_64_gnullvm/Cargo.toml +++ b/crates/targets/x86_64_gnullvm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_x86_64_gnullvm" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/x86_64_gnullvm/lib/libwindows.0.52.1.a b/crates/targets/x86_64_gnullvm/lib/libwindows.0.52.0.a similarity index 100% rename from crates/targets/x86_64_gnullvm/lib/libwindows.0.52.1.a rename to crates/targets/x86_64_gnullvm/lib/libwindows.0.52.0.a diff --git a/crates/targets/x86_64_msvc/Cargo.toml b/crates/targets/x86_64_msvc/Cargo.toml index 16deb9f1c4..8201105eb1 100644 --- a/crates/targets/x86_64_msvc/Cargo.toml +++ b/crates/targets/x86_64_msvc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows_x86_64_msvc" -version = "0.52.1" +version = "0.52.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.60" diff --git a/crates/targets/x86_64_msvc/lib/windows.0.52.1.lib b/crates/targets/x86_64_msvc/lib/windows.0.52.0.lib similarity index 100% rename from crates/targets/x86_64_msvc/lib/windows.0.52.1.lib rename to crates/targets/x86_64_msvc/lib/windows.0.52.0.lib diff --git a/crates/tests/targets/tests/files.rs b/crates/tests/targets/tests/files.rs index ab5a7a1653..c3e1c16cbe 100644 --- a/crates/tests/targets/tests/files.rs +++ b/crates/tests/targets/tests/files.rs @@ -5,13 +5,15 @@ fn test() { let targets = tool_lib::crates("../../targets"); assert_eq!(7, targets.len()); - assert!(targets.iter().all(|(_, version)| version == "0.52.1")); + assert!(targets.iter().all(|(_, version)| version == "0.52.3")); - std::include_bytes!("../../../targets/aarch64_gnullvm/lib/libwindows.0.52.1.a"); - std::include_bytes!("../../../targets/aarch64_msvc/lib/windows.0.52.1.lib"); - std::include_bytes!("../../../targets/i686_gnu/lib/libwindows.0.52.1.a"); - std::include_bytes!("../../../targets/i686_msvc/lib/windows.0.52.1.lib"); - std::include_bytes!("../../../targets/x86_64_gnu/lib/libwindows.0.52.1.a"); - std::include_bytes!("../../../targets/x86_64_gnullvm/lib/libwindows.0.52.1.a"); - std::include_bytes!("../../../targets/x86_64_msvc/lib/windows.0.52.1.lib"); + // The lib names can't change for minor (semver) updates as that breaks linker search. + // https://github.com/microsoft/windows-rs/issues/2869 + std::include_bytes!("../../../targets/aarch64_gnullvm/lib/libwindows.0.52.0.a"); + std::include_bytes!("../../../targets/aarch64_msvc/lib/windows.0.52.0.lib"); + std::include_bytes!("../../../targets/i686_gnu/lib/libwindows.0.52.0.a"); + std::include_bytes!("../../../targets/i686_msvc/lib/windows.0.52.0.lib"); + std::include_bytes!("../../../targets/x86_64_gnu/lib/libwindows.0.52.0.a"); + std::include_bytes!("../../../targets/x86_64_gnullvm/lib/libwindows.0.52.0.a"); + std::include_bytes!("../../../targets/x86_64_msvc/lib/windows.0.52.0.lib"); }