[dev-run] Add gdb/lldb shortcuts

This commit is contained in:
Ebrahim Byagowi 2018-02-22 16:48:03 +03:30 committed by GitHub
parent 2d0265242b
commit fa13a04cf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 31 additions and 9 deletions

View File

@ -13,26 +13,48 @@
[ $# = 0 ] && echo Usage: "src/dev-run.sh [FONT-FILE] [TEXT]" && exit
command -v entr >/dev/null 2>&1 || { echo >&2 "This script needs `entr` be installed"; exit 1; }
GDB=gdb
# if gdb doesn't exist, hopefully lldb exist
command -v $GDB >/dev/null 2>&1 || export GDB="lldb"
[ -f 'build/build.ninja' ] && CMAKENINJA=TRUE
# or "fswatch -0 . -e build/ -e .git"
find src/ | entr printf '\0' | while read -d ""; do
clear
echo '===================================================='
if [[ $CMAKENINJA ]]; then
ninja -Cbuild hb-shape hb-view
ninja -Cbuild hb-shape hb-view && {
build/hb-shape $@
build/hb-view $@
}
else
make -Cbuild/src -j5 -s lib
make -Cbuild/src -j5 -s lib && {
build/util/hb-shape $@
build/util/hb-view $@
}
fi
done
read -n 1 -p "Run the tests (y/n)? " answer
if [[ "$answer" = "y" ]]; then
read -n 1 -p "[T]est, [D]ebug, [R]estart, [Q]uit?" answer
case "$answer" in
t|T )
if [[ $CMAKENINJA ]]; then
CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=5 ninja -Cbuild test
else
make -Cbuild -j5 check && .ci/fail.sh
fi
fi
;;
d|D )
if [[ $CMAKENINJA ]]; then
echo "Not supported on cmake builds yet"
else
build/libtool --mode=execute $GDB hb-shape $@
fi
;;
r|R )
src/dev-run.sh $@
;;
* )
exit
;;
esac