libevdev/test/test-static-symbols-leak.sh
Niclas Zeising db01b2d606 Don't hardcode /bin/bash
Don't hardcode /bin/bash, use /usr/bin/env bash instead, since not all
platforms install bash as /bin/bash.
FreeBSD, as an example, installs bash in /usr/local/bin/bash by default.

Signed-off-by: Niclas Zeising <zeising@daemonic.se>
2020-08-13 13:11:33 +02:00

21 lines
615 B
Bash
Executable file

#!/usr/bin/env bash
#
# Hack to check for leaking symbols in the static library.
# See https://bugs.freedesktop.org/show_bug.cgi?id=82785
# Note the spaces in the expressions! After the first grep, each line
# is " T symbol_name"
test -z "$RUNNING_ON_VALGRIND" || exit 77
builddir="$1"
test -f "$builddir/test-static-link" || (echo "Unable to find test file" && exit 1)
nm --extern-only "$builddir/test-static-link" |
grep -o -e " T .*" | \
grep -v -e " main\$" \
-e " atexit" \
-e " mangle_path" \
-e " *gcov.*" \
-e " _.*" \
-e " libevdev_*" && \
echo "Leaking symbols found" && exit 1 || exit 0