Commit Graph

2 Commits

Author SHA1 Message Date
Shaun Arman
b6ecd49b52 fix(build): add memset_explicit C shim for Windows MinGW libsodium linking
Some checks failed
PR Review Automation / review (pull_request) Successful in 4m53s
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Successful in 1m52s
Test / frontend-typecheck (pull_request) Successful in 2m3s
2026-06-18 22:57:13 -05:00
Shaun Arman
9e3e3766e7 fix(build): resolve Windows MinGW memset_explicit linking error
Some checks failed
Test / frontend-tests (pull_request) Failing after 1m15s
Test / frontend-typecheck (pull_request) Successful in 1m57s
PR Review Automation / review (pull_request) Successful in 4m17s
Test / rust-fmt-check (pull_request) Successful in 13m32s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
libsodium-sys requires memset_explicit which is not available in older
MinGW toolchains. Added a C shim that provides a fallback implementation
using volatile pointers to prevent compiler optimization.

Changes:
- Added memset_s_shim.c with fallback memset_explicit implementation
- Updated build.rs to compile shim for Windows GNU targets
- Added cc crate as build dependency
- Set CFLAGS in CI to target Windows 8+ (_WIN32_WINNT=0x0602)
- Set SODIUM_STATIC=yes to force static libsodium build

Fixes linking error: undefined reference to memset_explicit

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-13 23:36:54 -05:00