From 5722d68a3e529fb22886c2430dc0d268c33424e7 Mon Sep 17 00:00:00 2001 From: skal Date: Wed, 28 Jan 2026 02:17:04 +0100 Subject: feat(crunch): Add UPX-based binary packer script Adds 'scripts/crunch_demo.sh' to automate building a stripped binary and compressing it with UPX. Updates 'FETCH_DEPS.md' with UPX installation instructions and 'HOWTO.md' with usage guide. This addresses Task 3 (add binary crunchers). --- scripts/crunch_demo.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 scripts/crunch_demo.sh (limited to 'scripts') diff --git a/scripts/crunch_demo.sh b/scripts/crunch_demo.sh new file mode 100755 index 0000000..333faa9 --- /dev/null +++ b/scripts/crunch_demo.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# Build a size-optimized binary and compress it with UPX. + +set -e + +if ! command -v upx >/dev/null 2>&1; then + echo "Error: upx is not installed or not in PATH." + echo "Please install it using 'brew install upx' or from https://github.com/upx/upx" + exit 1 +fi + +echo "Building stripped binary..." +cmake -S . -B build_strip -DDEMO_STRIP_ALL=ON +cmake --build build_strip + +SRC_BIN="build_strip/demo64k" +OUT_BIN="build_strip/demo64k_packed" + +echo "Compressing with UPX..." +upx --best --lzma -o "$OUT_BIN" "$SRC_BIN" + +echo "Done." +ls -lh "$SRC_BIN" "$OUT_BIN" -- cgit v1.2.3