From 9d37d22a221939829a228977c6ecfe3e275a49c2 Mon Sep 17 00:00:00 2001 From: Simon Gellis Date: Sat, 18 Jan 2025 17:01:17 -0500 Subject: [PATCH] Fix LTO for windows/linux, disable for OSX --- README.md | 2 +- build.Dockerfile | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f134e02..de29880 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A Virtual Boy emulator built around the shrooms-vb core. Written in Rust, using ## Setup Install the following dependencies: - - `cargo` + - `cargo` (via [rustup](https://rustup.rs/), the version from your package manager is too old) Run ```sh diff --git a/build.Dockerfile b/build.Dockerfile index 21ca4cc..dca7dbc 100644 --- a/build.Dockerfile +++ b/build.Dockerfile @@ -23,13 +23,15 @@ ENV PATH="/osxcross/bin:$PATH" \ CXX_x86_64-apple-darwin="o64-clang++" \ CC_aarch64-apple-darwin="oa64-clang" \ CXX_aarch64-apple-darwin="o6a4-clang++" \ + SHROOMS_CFLAGS_x86_64-unknown-linux-gnu="-flto" \ + CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-fuse-ld=lld" \ + SHROOMS_CFLAGS_x86_64-pc-windows-msvc="-flto" \ + CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUSTFLAGS="-Lnative=/xwin/crt/lib/x86_64 -Lnative=/xwin/sdk/lib/um/x86_64 -Lnative=/xwin/sdk/lib/ucrt/x86_64 -Clinker-plugin-lto -Clink-arg=-fuse-ld=lld" \ CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER="lld-link-19" \ CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER="o64-clang" \ CARGO_TARGET_X86_64_APPLE_DARWIN_AR="llvm-ar-19" \ CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER="oa64-clang" \ CARGO_TARGET_AARCH64_APPLE_DARWIN_AR="llvm-ar-19" \ CROSS_COMPILE="setting-this-to-silence-a-warning-" \ - SHROOMS_CFLAGS="-flto" \ RC_PATH="llvm-rc-19" \ - RUSTFLAGS="-Lnative=/xwin/crt/lib/x86_64 -Lnative=/xwin/sdk/lib/um/x86_64 -Lnative=/xwin/sdk/lib/ucrt/x86_64" \ MACOSX_DEPLOYMENT_TARGET="14.5"