From abee0ef3a991f42ed98229e2bc2e8c5253ffb429 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 16 Jul 2026 19:33:52 +0300 Subject: [PATCH] chatgui: add --asan flag to build_linux.sh --- tools/chatgui/build_linux.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/tools/chatgui/build_linux.sh b/tools/chatgui/build_linux.sh index dac1f82e..25556257 100755 --- a/tools/chatgui/build_linux.sh +++ b/tools/chatgui/build_linux.sh @@ -1,6 +1,14 @@ #!/bin/bash set -eo pipefail +ASAN=0 +for arg; do + case "$arg" in + --asan) ASAN=1 ;; + -j*) JOBS="${arg#-j}" ;; + esac +done + # --- dependencies --- PKGS="cmake librlottie-dev zlib1g-dev qtbase5-dev libssl-dev" MISSING="" @@ -25,8 +33,21 @@ echo "Build: $BUILDDIR" echo "Jobs: $JOBS" echo "" -[ -f "$BUILDDIR/Makefile" ] || cmake -S "$SRCDIR" -B "$BUILDDIR" +SAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer -g" +if [ "$ASAN" -eq 1 ]; then + echo "*** ASAN ENABLED ***" + CMAKE_ARGS=(-DCMAKE_C_FLAGS="$SAN_FLAGS" -DCMAKE_CXX_FLAGS="$SAN_FLAGS" -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address) + rm -f "$BUILDDIR/CMakeCache.txt" "$BUILDDIR/Makefile" +else + CMAKE_ARGS=() +fi + +[ -f "$BUILDDIR/Makefile" ] || cmake -S "$SRCDIR" -B "$BUILDDIR" "${CMAKE_ARGS[@]}" cmake --build "$BUILDDIR" -j"$JOBS" echo "" -echo "OK. Run: $BUILDDIR/chatgui" +if [ "$ASAN" -eq 1 ]; then + echo "OK. Run: ASAN_OPTIONS=detect_leaks=1:halt_on_error=0 $BUILDDIR/chatgui" +else + echo "OK. Run: $BUILDDIR/chatgui" +fi