From faa8670e082b768bc384dd4bf3d82224fc861642 Mon Sep 17 00:00:00 2001 From: "C.Lee Taylor" Date: Fri, 12 May 2023 13:23:49 +0200 Subject: [PATCH 1/6] target aarch64-apple-darwin with env override --- build.rs | 76 ++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 22 deletions(-) diff --git a/build.rs b/build.rs index f21079a..758fab5 100644 --- a/build.rs +++ b/build.rs @@ -45,8 +45,12 @@ fn main() { }, } env::set_current_dir(build_dir).unwrap(); + + let host = env::var("HOST").unwrap(); + //println!("host: {}", host); let target = env::var("TARGET").unwrap(); - if target.contains("windows") { + //println!("target: {}", target); + if host.contains("windows") && target.contains("windows-msvc") { let c = Command::new("cmake") .arg("-G") .arg("Visual Studio 16 2019") @@ -103,26 +107,51 @@ fn main() { std::io::stderr().write_all(&m.stderr).unwrap(); assert!(m.status.success()); } else if target.contains("aarch64-apple-darwin") { - let c = Command::new("cmake") - .arg("-D") - .arg("ARCH=arm64") - .arg("-D") - .arg("ARCH_ID=aarch64") - .arg("-D") - .arg("CMAKE_CROSSCOMPILING=true") - .arg("-D") - .arg("CMAKE_SYSTEM_PROCESSOR=aarch64") - .arg("-D") - .arg("CMAKE_C_FLAGS='-arch arm64'") - .arg("-D") - .arg("CMAKE_CXX_FLAGS='-arch arm64'") - .arg(repo_dir.to_str().unwrap()) - .output() - .expect("failed to execute CMake"); - println!("status: {}", c.status); - std::io::stdout().write_all(&c.stdout).unwrap(); - std::io::stderr().write_all(&c.stderr).unwrap(); - assert!(c.status.success()); + if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") { + let c = Command::new("cmake") + .arg("-D") + .arg("ARCH=arm64") + .arg("-D") + .arg("ARCH_ID=aarch64") + .arg("-D") + .arg("CMAKE_CROSSCOMPILING=true") + .arg("-D") + .arg("CMAKE_SYSTEM_PROCESSOR=aarch64") + .arg("-D") + .arg("CMAKE_C_FLAGS='-arch arm64'") + .arg("-D") + .arg("CMAKE_CXX_FLAGS='-arch arm64'") + .arg("-D") + .arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()) + .arg(repo_dir.to_str().unwrap()) + .output() + .expect("failed to execute CMake"); + println!("status: {}", c.status); + std::io::stdout().write_all(&c.stdout).unwrap(); + std::io::stderr().write_all(&c.stderr).unwrap(); + assert!(c.status.success()); + } else { + let c = Command::new("cmake") + .arg("-D") + .arg("ARCH=arm64") + .arg("-D") + .arg("ARCH_ID=aarch64") + .arg("-D") + .arg("CMAKE_CROSSCOMPILING=true") + .arg("-D") + .arg("CMAKE_SYSTEM_PROCESSOR=aarch64") + .arg("-D") + .arg("CMAKE_C_FLAGS='-arch arm64'") + .arg("-D") + .arg("CMAKE_CXX_FLAGS='-arch arm64'") + .arg(repo_dir.to_str().unwrap()) + .output() + .expect("failed to execute CMake"); + println!("status: {}", c.status); + std::io::stdout().write_all(&c.stdout).unwrap(); + std::io::stderr().write_all(&c.stderr).unwrap(); + assert!(c.status.success()); + } let m = Command::new("cmake") .arg("--build") @@ -144,7 +173,10 @@ fn main() { std::io::stdout().write_all(&c.stdout).unwrap(); std::io::stderr().write_all(&c.stderr).unwrap(); assert!(c.status.success()); - let m = Command::new("make").output().expect("failed to execute Make"); + + let m = Command::new("make") + .output() + .expect("failed to execute Make"); println!("status: {}", m.status); std::io::stdout().write_all(&m.stdout).unwrap(); std::io::stderr().write_all(&m.stderr).unwrap(); From 83c81b72b6884d7d625d12d4c0301076ceae98c6 Mon Sep 17 00:00:00 2001 From: "C.Lee Taylor" Date: Fri, 12 May 2023 13:32:24 +0200 Subject: [PATCH 2/6] fix formatting --- build.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/build.rs b/build.rs index 758fab5..936d686 100644 --- a/build.rs +++ b/build.rs @@ -47,9 +47,9 @@ fn main() { env::set_current_dir(build_dir).unwrap(); let host = env::var("HOST").unwrap(); - //println!("host: {}", host); + // println!("host: {}", host); let target = env::var("TARGET").unwrap(); - //println!("target: {}", target); + // println!("target: {}", target); if host.contains("windows") && target.contains("windows-msvc") { let c = Command::new("cmake") .arg("-G") @@ -174,9 +174,7 @@ fn main() { std::io::stderr().write_all(&c.stderr).unwrap(); assert!(c.status.success()); - let m = Command::new("make") - .output() - .expect("failed to execute Make"); + let m = Command::new("make").output().expect("failed to execute Make"); println!("status: {}", m.status); std::io::stdout().write_all(&m.stdout).unwrap(); std::io::stderr().write_all(&m.stderr).unwrap(); From 15273245162491aed047fbbcac5a1370e5ae8c3a Mon Sep 17 00:00:00 2001 From: "C.Lee Taylor" <47312074+leet4tari@users.noreply.github.com> Date: Fri, 12 May 2023 13:49:29 +0200 Subject: [PATCH 3/6] Update build.rs Co-authored-by: SW van Heerden --- build.rs | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/build.rs b/build.rs index 936d686..abb0391 100644 --- a/build.rs +++ b/build.rs @@ -107,8 +107,7 @@ fn main() { std::io::stderr().write_all(&m.stderr).unwrap(); assert!(m.status.success()); } else if target.contains("aarch64-apple-darwin") { - if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") { - let c = Command::new("cmake") + let mut c = Command::new("cmake") .arg("-D") .arg("ARCH=arm64") .arg("-D") @@ -120,38 +119,19 @@ fn main() { .arg("-D") .arg("CMAKE_C_FLAGS='-arch arm64'") .arg("-D") - .arg("CMAKE_CXX_FLAGS='-arch arm64'") - .arg("-D") + .arg("CMAKE_CXX_FLAGS='-arch arm64'"); + if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") { + c = c.arg("-D") .arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()) - .arg(repo_dir.to_str().unwrap()) - .output() - .expect("failed to execute CMake"); - println!("status: {}", c.status); - std::io::stdout().write_all(&c.stdout).unwrap(); - std::io::stderr().write_all(&c.stderr).unwrap(); - assert!(c.status.success()); - } else { - let c = Command::new("cmake") - .arg("-D") - .arg("ARCH=arm64") - .arg("-D") - .arg("ARCH_ID=aarch64") - .arg("-D") - .arg("CMAKE_CROSSCOMPILING=true") - .arg("-D") - .arg("CMAKE_SYSTEM_PROCESSOR=aarch64") - .arg("-D") - .arg("CMAKE_C_FLAGS='-arch arm64'") - .arg("-D") - .arg("CMAKE_CXX_FLAGS='-arch arm64'") - .arg(repo_dir.to_str().unwrap()) + }; + c.arg(repo_dir.to_str().unwrap()) .output() .expect("failed to execute CMake"); println!("status: {}", c.status); std::io::stdout().write_all(&c.stdout).unwrap(); std::io::stderr().write_all(&c.stderr).unwrap(); assert!(c.status.success()); - } + let m = Command::new("cmake") .arg("--build") From 68f7d210fbe0644e67f916da35aea0897c9a444d Mon Sep 17 00:00:00 2001 From: "C.Lee Taylor" <47312074+leet4tari@users.noreply.github.com> Date: Fri, 12 May 2023 14:25:12 +0200 Subject: [PATCH 4/6] Update build.rs Co-authored-by: SW van Heerden --- build.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.rs b/build.rs index abb0391..a0d302f 100644 --- a/build.rs +++ b/build.rs @@ -124,7 +124,7 @@ fn main() { c = c.arg("-D") .arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()) }; - c.arg(repo_dir.to_str().unwrap()) + c = c.arg(repo_dir.to_str().unwrap()) .output() .expect("failed to execute CMake"); println!("status: {}", c.status); From e80b75cd40587590a2576625d03cd161e9945702 Mon Sep 17 00:00:00 2001 From: "C.Lee Taylor" Date: Fri, 12 May 2023 14:31:48 +0200 Subject: [PATCH 5/6] fix formatting --- build.rs | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/build.rs b/build.rs index a0d302f..3a48b28 100644 --- a/build.rs +++ b/build.rs @@ -108,30 +108,29 @@ fn main() { assert!(m.status.success()); } else if target.contains("aarch64-apple-darwin") { let mut c = Command::new("cmake") - .arg("-D") - .arg("ARCH=arm64") - .arg("-D") - .arg("ARCH_ID=aarch64") - .arg("-D") - .arg("CMAKE_CROSSCOMPILING=true") - .arg("-D") - .arg("CMAKE_SYSTEM_PROCESSOR=aarch64") - .arg("-D") - .arg("CMAKE_C_FLAGS='-arch arm64'") - .arg("-D") - .arg("CMAKE_CXX_FLAGS='-arch arm64'"); - if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") { - c = c.arg("-D") - .arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()) - }; - c = c.arg(repo_dir.to_str().unwrap()) - .output() - .expect("failed to execute CMake"); - println!("status: {}", c.status); - std::io::stdout().write_all(&c.stdout).unwrap(); - std::io::stderr().write_all(&c.stderr).unwrap(); - assert!(c.status.success()); - + .arg("-D") + .arg("ARCH=arm64") + .arg("-D") + .arg("ARCH_ID=aarch64") + .arg("-D") + .arg("CMAKE_CROSSCOMPILING=true") + .arg("-D") + .arg("CMAKE_SYSTEM_PROCESSOR=aarch64") + .arg("-D") + .arg("CMAKE_C_FLAGS='-arch arm64'") + .arg("-D") + .arg("CMAKE_CXX_FLAGS='-arch arm64'"); + if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") { + c = c.arg("-D").arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()) + }; + c = c + .arg(repo_dir.to_str().unwrap()) + .output() + .expect("failed to execute CMake"); + println!("status: {}", c.status); + std::io::stdout().write_all(&c.stdout).unwrap(); + std::io::stderr().write_all(&c.stderr).unwrap(); + assert!(c.status.success()); let m = Command::new("cmake") .arg("--build") From bc5dd7e4f7a3f33245d5ef2164ae5f52ec2b2ab9 Mon Sep 17 00:00:00 2001 From: SW van Heerden Date: Fri, 12 May 2023 14:44:47 +0200 Subject: [PATCH 6/6] format --- build.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build.rs b/build.rs index 3a48b28..a2eede0 100644 --- a/build.rs +++ b/build.rs @@ -107,8 +107,8 @@ fn main() { std::io::stderr().write_all(&m.stderr).unwrap(); assert!(m.status.success()); } else if target.contains("aarch64-apple-darwin") { - let mut c = Command::new("cmake") - .arg("-D") + let mut c = Command::new("cmake"); + c.arg("-D") .arg("ARCH=arm64") .arg("-D") .arg("ARCH_ID=aarch64") @@ -121,16 +121,16 @@ fn main() { .arg("-D") .arg("CMAKE_CXX_FLAGS='-arch arm64'"); if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") { - c = c.arg("-D").arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()) - }; - c = c + c.arg("-D").arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str()); + } + let output = c .arg(repo_dir.to_str().unwrap()) .output() .expect("failed to execute CMake"); - println!("status: {}", c.status); - std::io::stdout().write_all(&c.stdout).unwrap(); - std::io::stderr().write_all(&c.stderr).unwrap(); - assert!(c.status.success()); + println!("status: {}", output.status); + std::io::stdout().write_all(&output.stdout).unwrap(); + std::io::stderr().write_all(&output.stderr).unwrap(); + assert!(output.status.success()); let m = Command::new("cmake") .arg("--build")