rules: add include statements to rules files
[platform/upstream/libxkbcommon.git] / test / symbols-leak-test.bash
1 #!/usr/bin/env bash
2 set -o pipefail -o errexit -o nounset
3
4 tempdir=$(mktemp -d "$top_builddir"/symbols-leak-test.XXXXXXXXXX)
5 trap 'rm -rf "$tempdir"' EXIT
6
7 # Check that all exported symbols are specified in the symbol version
8 # scripts.  If this fails, please update the appropriate .map file
9 # (adding new version nodes as needed).
10
11 # xkbcommon symbols
12 grep -h '^\s\+xkb_' "$top_srcdir"/xkbcommon.map | sed 's/^[[:space:]]*\(.*\);/\1/' | sort > "$tempdir"/symbols
13 grep -h 'XKB_EXPORT' -A1 "$top_srcdir"/src/{,xkbcomp,compose}/*.c | grep '^xkb_' | sed 's/(.*//' | sort > "$tempdir"/exported
14 diff -a -u "$tempdir"/symbols "$tempdir"/exported
15
16 # xkbcommon-x11 symbols
17 grep -h '^\s\+xkb_.*' "$top_srcdir"/xkbcommon-x11.map | sed 's/^[[:space:]]*\(.*\);/\1/' | sort > "$tempdir"/symbols
18 grep -h 'XKB_EXPORT' -A1 "$top_srcdir"/src/x11/*.c | grep '^xkb_' | sed 's/(.*//' | sort > "$tempdir"/exported
19 diff -a -u "$tempdir"/symbols "$tempdir"/exported