summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2015-03-31 19:51:45 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2015-04-28 11:19:15 +0100
commitb0d4ee6907811337a40780e9c7ae8f0fc65914c6 (patch)
treeb72a282e29081b8d4e113309af9523673072cd6c
parent983892d2756b4bcfcd455ec644afe666b9e0e447 (diff)
libkms: add symbols test
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-rw-r--r--libkms/Makefile.am3
-rwxr-xr-xlibkms/kms-symbol-check25
2 files changed, 27 insertions, 1 deletions
diff --git a/libkms/Makefile.am b/libkms/Makefile.am
index 4baf4fc9..6c0ab7a2 100644
--- a/libkms/Makefile.am
+++ b/libkms/Makefile.am
@@ -43,4 +43,5 @@ libkmsinclude_HEADERS = $(LIBKMS_H_FILES)
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = libkms.pc
-EXTRA_DIST = Android.mk
+TESTS = kms-symbol-check
+EXTRA_DIST = Android.mk $(TESTS)
diff --git a/libkms/kms-symbol-check b/libkms/kms-symbol-check
new file mode 100755
index 00000000..658b2692
--- /dev/null
+++ b/libkms/kms-symbol-check
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# The following symbols (past the first five) are taken from the public headers.
+# A list of the latter should be available Makefile.sources/LIBKMS_H_FILES
+
+FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do
+( grep -q "^$func$" || echo $func ) <<EOF
+__bss_start
+_edata
+_end
+_fini
+_init
+kms_bo_create
+kms_bo_destroy
+kms_bo_get_prop
+kms_bo_map
+kms_bo_unmap
+kms_create
+kms_destroy
+kms_get_prop
+EOF
+done)
+
+test ! -n "$FUNCS" || echo $FUNCS
+test ! -n "$FUNCS"