diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 5bbb3598a..d9bd0a470 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -983,7 +983,7 @@ clutter_all_c_sources = \ $(cally_sources_c) \ $(built_source_c) -TESTS_ENVIRONMENT = srcdir="$(srcdir)" clutter_all_c_sources="$(clutter_all_c_sources)" +TESTS_ENVIRONMENT = srcdir="$(srcdir)" CLUTTER_BACKENDS="$(CLUTTER_BACKENDS)" if OS_LINUX TESTS = abicheck.sh endif diff --git a/clutter/abicheck.sh b/clutter/abicheck.sh index cc9fadd46..167598066 100755 --- a/clutter/abicheck.sh +++ b/clutter/abicheck.sh @@ -1,11 +1,24 @@ #! /bin/sh -cpp -P \ - -DG_OS_UNIX \ - -DCLUTTER_WINDOWING_X11 \ - -DCLUTTER_WINDOWING_GLX \ - -DCLUTTER_WINDOWING_GDK \ - ${srcdir:-.}/clutter.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' -e 's/ DATA//' | sort > expected-abi +has_x11_backend=no +has_gdk_backend=no +for backend in ${CLUTTER_BACKENDS}; do + case "$backend" in + x11) has_x11_backend=yes ;; + gdk) has_gdk_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 + +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 && rm -f expected-abi actual-abi