Building box2d for wasm32

I was finally able to get zig to compile box2d for wasm32-emscripten using:

BOX2D_PATH=$HOME/box2d-3.1.0
BOX2D_SRC_FILES=($BOX2D_PATH/src/*.c(N))
zig build-lib $BOX2D_SRC_FILES \
-DBOX2D_DISABLE_SIMD \
-cflags -std=c17 -mbulk-memory -matomics -msimd128 -msse2 -- \
-I$BOX2D_PATH/include \
-lc -OReleaseFast --name box2d -static \
-target wasm32-emscripten -mcpu baseline \
-isystem $EMSDK/upstream/emscripten/cache/sysroot/include

The -DBOX2D_DISABLE_SIMD is required because it seems like zig’s SIMD headers don’t support wasm32?:

zig-macos-aarch64-0.13.0/lib/include/emmintrin.h:14:2: 
error: "This header is only meant to be used on x86 and x64 architecture"

box2d-3.1.0/src/contact_solver.c:527:10: note: in file included from box2d-3.1.0/src/contact_solver.c:527:
#include <emmintrin.h>

emcc is able to compile box2d with simd enabled.

BOX2D_OBJ_FILES := $(notdir $(BOX2D_SRC_FILES:.c=.o))
emcc-box2d:
    emcc -mbulk-memory -matomics -msimd128 -msse2 -I$(BOX2D_PATH)/include -c $(BOX2D_SRC_FILES) && \
    emar qc libbox2d.a $(BOX2D_OBJ_FILES) && \
    emranlib libbox2d.a

If anyone knows how to compile SIMD for wasm32-emscripten, I’d appreciate your advice!