add build flags for aarch64 (#123)

This commit is contained in:
Logan McNaughton
2025-01-10 11:16:09 +01:00
committed by GitHub
parent a731b870da
commit e71d5a1b2d
3 changed files with 20 additions and 10 deletions
+3
View File
@@ -1,2 +1,5 @@
[target.'cfg(target_arch = "x86_64")']
rustflags = ["-C", "target-cpu=x86-64-v3"]
[target.'cfg(target_arch = "aarch64")']
rustflags = ["-C", "target-cpu=cortex-a76"]
+1 -1
View File
@@ -30,7 +30,7 @@ features = ["static-link","bundled"]
[build-dependencies]
winres = "0.1"
cc = { version = "1.0", features = ["parallel"] }
cc = { version = "1.2", features = ["parallel"] }
[profile.release]
lto = true
+16 -9
View File
@@ -52,11 +52,15 @@ fn main() {
.include("parallel-rdp/parallel-rdp-standalone/util")
.includes(std::env::var("DEP_SDL2_INCLUDE"));
#[cfg(target_os = "windows")]
{
#[cfg(target_arch = "x86_64")]
{
let os = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
if os == "windows" {
if arch == "x86_64" {
build.flag("/arch:AVX2");
} else if arch == "aarch64" {
build.flag("/arch:armv8.2");
} else {
panic!("unknown arch")
}
build.flag("-DVK_USE_PLATFORM_WIN32_KHR");
@@ -64,13 +68,16 @@ fn main() {
.set_icon("data/icon.ico")
.compile()
.unwrap();
}
#[cfg(any(target_os = "linux", target_os = "macos"))]
{
#[cfg(target_arch = "x86_64")]
{
} else if os == "linux" || os == "macos" {
if arch == "x86_64" {
build.flag("-march=x86-64-v3");
} else if arch == "aarch64" {
build.flag("-march=armv8.2-a");
} else {
panic!("unknown arch")
}
} else {
panic!("unknown OS")
}
build.compile("parallel-rdp");