diff --git a/build.Dockerfile b/build.Dockerfile index 2521d83..21ca4cc 100644 --- a/build.Dockerfile +++ b/build.Dockerfile @@ -29,6 +29,7 @@ ENV PATH="/osxcross/bin:$PATH" \ 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" diff --git a/build.rs b/build.rs index 6335468..c478485 100644 --- a/build.rs +++ b/build.rs @@ -8,9 +8,17 @@ fn main() -> Result<(), Box> { } println!("cargo::rerun-if-changed=shrooms-vb-core"); - cc::Build::new() + + let mut builder = cc::Build::new(); + let _ = builder.try_flags_from_environment("SHROOMS_CFLAGS"); + let opt_level = if builder.get_compiler().is_like_msvc() { + 2 + } else { + 3 + }; + builder .include(Path::new("shrooms-vb-core/core")) - .opt_level(2) + .opt_level(opt_level) .flag_if_supported("-fno-strict-aliasing") .define("VB_LITTLE_ENDIAN", None) .define("VB_SIGNED_PROPAGATE", None)