mutter/clutter/abicheck.sh
Emmanuele Bassi ad39d3d1ae Make abicheck.sh output TAP
So that we can run it under the TAP harness like the rest of the
conformance test suite.
2013-12-12 18:51:11 +00:00

47 lines
1.2 KiB
Bash
Executable File

#! /bin/sh
has_x11_backend=no
has_gdk_backend=no
has_wayland_backend=no
for backend in ${CLUTTER_BACKENDS}; do
case "$backend" in
x11) has_x11_backend=yes ;;
gdk) has_gdk_backend=yes ;;
wayland) has_wayland_backend=yes ;;
esac
done
cppargs="-DG_OS_UNIX"
if [ $has_x11_backend = "yes" ]; then
cppargs="$cppargs -DCLUTTER_WINDOWING_X11 -DCLUTTER_WINDOWING_GLX"
fi
if [ $has_gdk_backend = "yes" ]; then
cppargs="$cppargs -DCLUTTER_WINDOWING_GDK"
fi
if [ $has_wayland_backend = "yes" ]; then
cppargs="$cppargs -DCLUTTER_WINDOWING_WAYLAND"
fi
echo "1..1"
echo "# Start of abicheck"
cpp -P ${cppargs} ${srcdir:-.}/clutter.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' -e 's/ DATA//' | sort > expected-abi
nm -D -g --defined-only .libs/libclutter-1.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
diff -u expected-abi actual-abi > diff-abi
if [ $? = 0 ]; then
echo "ok 1 expected abi"
rm -f diff-abi
else
echo "not ok 1 expected abi"
echo "# difference in diff-abi"
fi
rm -f actual-abi expected-abi
echo "# End of abicheck"