diff --git a/.cargo/config.toml b/.cargo/config.toml index 58249541..c3f66ead 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -6,7 +6,7 @@ rustflags = ["-Ccontrol-flow-guard", "-Ctarget-feature=+crt-static"] # -Clink-args=/DYNAMICBASE /CETCOMPAT: Enable "shadow stack" (https://learn.microsoft.com/en-us/cpp/build/reference/cetcompat) [target.'cfg(all(target_os = "windows", any(target_arch = "i686", target_arch = "x86_64")))'] -rustflags = ["-Clink-args=/DYNAMICBASE /CETCOMPAT"] +rustflags = ["-Clink-arg=/DYNAMICBASE", "-Clink-arg=/CETCOMPAT"] [registries] diff --git a/Cargo.lock b/Cargo.lock index dda8a91d..e31863f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -65,6 +65,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" +[[package]] +name = "cc" +version = "1.2.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3" +dependencies = [ + "find-msvc-tools", + "shlex", +] + [[package]] name = "cfg-if" version = "1.0.4" @@ -262,6 +272,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "find-msvc-tools" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41" + [[package]] name = "flate2" version = "1.1.5" @@ -485,7 +501,7 @@ dependencies = [ [[package]] name = "lepton_jpeg" -version = "0.5.6" +version = "0.5.7" dependencies = [ "bytemuck", "byteorder", @@ -503,16 +519,17 @@ dependencies = [ [[package]] name = "lepton_jpeg_dll" -version = "0.5.6" +version = "0.5.7" dependencies = [ "lepton_jpeg", + "msvc_spectre_libs", "rayon", "rstest", ] [[package]] name = "lepton_jpeg_python" -version = "0.5.5" +version = "0.5.7" dependencies = [ "lepton_jpeg", "pyo3", @@ -533,10 +550,11 @@ dependencies = [ [[package]] name = "lepton_jpeg_util" -version = "0.5.5" +version = "0.5.7" dependencies = [ "lepton_jpeg", "log", + "msvc_spectre_libs", "pico-args", "rayon", "simple_logger", @@ -581,6 +599,15 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "msvc_spectre_libs" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e871a9861f3664f18b7e04e9301d4edd55090c2dadb4b1c602e26ab32b1f5b" +dependencies = [ + "cc", +] + [[package]] name = "num-conv" version = "0.1.0" @@ -981,6 +1008,12 @@ dependencies = [ "serde_core", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "simd-adler32" version = "0.3.7" diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d63e1e6d..4c5623c2 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -78,6 +78,7 @@ extends: copy target\release\lepton_jpeg_util.pdb target\release\lepton_jpeg_util_avx2.pdb set RUSTFLAGS=-Ccontrol-flow-guard -Ctarget-feature=+crt-static -Clink-args=/DYNAMICBASE -Clink-args=/CETCOMPAT cargo build --workspace --locked --release 2>&1 + rd /s /q target\release\build displayName: 'Build Release' diff --git a/dll/Cargo.toml b/dll/Cargo.toml index da71ed82..ff3e4f4e 100644 --- a/dll/Cargo.toml +++ b/dll/Cargo.toml @@ -1,12 +1,13 @@ [package] name = "lepton_jpeg_dll" -version = "0.5.6" +version = "0.5.7" edition = "2024" authors = ["Kristof Roomp "] [dependencies] lepton_jpeg = { path = "../lib" } rayon = "1" +msvc_spectre_libs = "0.1.3" [dev-dependencies] rstest = "0.22" diff --git a/dll/src/lib.rs b/dll/src/lib.rs index eda1c301..9f4f6455 100644 --- a/dll/src/lib.rs +++ b/dll/src/lib.rs @@ -5,7 +5,6 @@ *--------------------------------------------------------------------------------------------*/ #![forbid(trivial_numeric_casts)] -#![forbid(unused_crate_dependencies)] use std::{ collections::VecDeque, diff --git a/lib/Cargo.toml b/lib/Cargo.toml index b880cb0f..64a338ca 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lepton_jpeg" -version = "0.5.6" +version = "0.5.7" edition = "2024" authors = ["Kristof Roomp "] diff --git a/package/Lepton.Jpeg.Rust.nuspec b/package/Lepton.Jpeg.Rust.nuspec index 03ad60b8..49f97e53 100644 --- a/package/Lepton.Jpeg.Rust.nuspec +++ b/package/Lepton.Jpeg.Rust.nuspec @@ -2,7 +2,7 @@ Lepton.Jpeg.Rust - 0.5.5.7 + 0.5.7.0 Lepton JPEG Compression Rust version binaries and libraries kristofr kristofr diff --git a/python/Cargo.toml b/python/Cargo.toml index 6a206249..f7f50ca2 100644 --- a/python/Cargo.toml +++ b/python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lepton_jpeg_python" -version = "0.5.5" +version = "0.5.7" edition = "2024" [lib] diff --git a/python/pyproject.toml b/python/pyproject.toml index 9d27b10b..b396a740 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "lepton_jpeg_python" -version = "0.5.5" +version = "0.5.7" description = "Rust port of the Lepton JPEG compression library" authors = [{ name = "Kristof Roomp ", email = "kristofr@gmail.com" }] readme = "README.md" diff --git a/util/Cargo.toml b/util/Cargo.toml index 76b362c1..f1ee9a2f 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lepton_jpeg_util" -version = "0.5.5" +version = "0.5.7" edition = "2024" authors = ["Kristof Roomp "] @@ -15,6 +15,7 @@ simple_logger ="5.0" rayon = "1" uuid = { version = "1.19", features = ["v4"] } winpipe = "0.1" +msvc_spectre_libs = "0.1.3" [[bin]] name="lepton_jpeg_util"