From 2573fbd1c9d747add481f918abd6cf94d9013a10 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 15 Jan 2026 18:29:57 -0800 Subject: [PATCH 1/2] gen-release-archives.sh: stop building 32-bit Windows binaries It's time to stop providing prebuilt 32-bit Windows binaries. --- scripts/gen-release-archives.sh | 36 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/scripts/gen-release-archives.sh b/scripts/gen-release-archives.sh index e602d384..33f9a0b9 100755 --- a/scripts/gen-release-archives.sh +++ b/scripts/gen-release-archives.sh @@ -13,25 +13,23 @@ echo "Generating $tarball" git archive --format=tar --prefix="${prefix}/" HEAD \ | libdeflate-gzip -12 > "$tarball" -# Generate Windows binary releases libdeflate-*-windows-*-bin.zip -for arch in 'i686' 'x86_64'; do - dir=${prefix}-windows-${arch}-bin - zipfile="${dir}.zip" - echo "Generating $zipfile" - rm -rf build "$dir" "$zipfile" - CFLAGS="-Werror" ${arch}-w64-mingw32-cmake -B build -G Ninja \ - -DLIBDEFLATE_BUILD_TESTS=1 > /dev/null - cmake --build build > /dev/null - mkdir "$dir" - cp libdeflate.h build/libdeflate.{dll,dll.a,a} \ - build/programs/{benchmark,checksum}.exe "$dir" - cp build/programs/libdeflate-gzip.exe "$dir"/gzip.exe - cp build/programs/libdeflate-gzip.exe "$dir"/gunzip.exe - ${arch}-w64-mingw32-strip "$dir"/libdeflate.dll "$dir"/*.exe - for file in COPYING NEWS.md README.md; do - sed < $file > "$dir/${file}.txt" -e 's/$/\r/g' - done - (cd "$dir" && zip -q -r "../${zipfile}" .) +# Generate Windows binary release libdeflate-*-windows-x86_64-bin.zip +dir=${prefix}-windows-x86_64-bin +zipfile="${dir}.zip" +echo "Generating $zipfile" +rm -rf build "$dir" "$zipfile" +CFLAGS="-Werror" x86_64-w64-mingw32-cmake -B build -G Ninja \ + -DLIBDEFLATE_BUILD_TESTS=1 > /dev/null +cmake --build build > /dev/null +mkdir "$dir" +cp libdeflate.h build/libdeflate.{dll,dll.a,a} \ + build/programs/{benchmark,checksum}.exe "$dir" +cp build/programs/libdeflate-gzip.exe "$dir"/gzip.exe +cp build/programs/libdeflate-gzip.exe "$dir"/gunzip.exe +x86_64-w64-mingw32-strip "$dir"/libdeflate.dll "$dir"/*.exe +for file in COPYING NEWS.md README.md; do + sed < $file > "$dir/${file}.txt" -e 's/$/\r/g' done +(cd "$dir" && zip -q -r "../${zipfile}" .) echo "Successfully generated release archives" From 22f6e0235ff5651c7300dc120a7ee0d9f0ba3426 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 15 Jan 2026 18:29:57 -0800 Subject: [PATCH 2/2] gen-release-archives.sh: link libraries statically to Windows binaries Starting in libdeflate v1.22, the prebuilt Windows binaries starting being unintentionally linked to zlib1.dll and libssp-0.dll. This fixes it. Resolves https://github.com/ebiggers/libdeflate/issues/438 --- scripts/gen-release-archives.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/gen-release-archives.sh b/scripts/gen-release-archives.sh index 33f9a0b9..c7b575df 100755 --- a/scripts/gen-release-archives.sh +++ b/scripts/gen-release-archives.sh @@ -19,7 +19,9 @@ zipfile="${dir}.zip" echo "Generating $zipfile" rm -rf build "$dir" "$zipfile" CFLAGS="-Werror" x86_64-w64-mingw32-cmake -B build -G Ninja \ - -DLIBDEFLATE_BUILD_TESTS=1 > /dev/null + -DLIBDEFLATE_BUILD_TESTS=1 -DZLIB_USE_STATIC_LIBS=1 \ + -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc" \ + -DCMAKE_SHARED_LINKER_FLAGS="-static-libgcc" > /dev/null cmake --build build > /dev/null mkdir "$dir" cp libdeflate.h build/libdeflate.{dll,dll.a,a} \