summaryrefslogtreecommitdiff
path: root/gtk-engine-check-abi.sh
diff options
context:
space:
mode:
authorMatthias Clasen <matthiasc@src.gnome.org>2006-03-11 02:24:52 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2006-03-11 02:24:52 +0000
commite040b7805ca68dc19b0f5e5ef5cd9eeaf87b405c (patch)
tree20bfab026a581f55345e367abc7bf8e162acee0b /gtk-engine-check-abi.sh
parent8cb0674b6ba86156b2be8d8016b71f37c3f50ae4 (diff)
downloadgtk+-e040b7805ca68dc19b0f5e5ef5cd9eeaf87b405c.tar.gz
Add a little script
Diffstat (limited to 'gtk-engine-check-abi.sh')
-rwxr-xr-xgtk-engine-check-abi.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/gtk-engine-check-abi.sh b/gtk-engine-check-abi.sh
new file mode 100755
index 0000000000..5cade631ce
--- /dev/null
+++ b/gtk-engine-check-abi.sh
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+# Check that a theme engine does not export any
+# functions that may interfere with symbol resolution
+
+cat >expected-abi <<EOF
+theme_create_rc_style
+theme_exit
+theme_init
+EOF
+
+cat >optional-abi <<EOF
+__bss_start
+_edata
+_end
+_fini
+_init
+g_module_check_init
+g_module_unload
+EOF
+
+nm -D -g --defined-only $1 | cut -d ' ' -f 3 > actual-abi
+
+cat optional-abi >>expected-abi
+sort expected-abi | uniq >expected-abi2
+
+cat optional-abi >>actual-abi
+sort actual-abi | uniq >actual-abi2
+
+diff -u expected-abi2 actual-abi2 && rm expected-abi optional-abi actual-abi expected-abi2 actual-abi2