summaryrefslogtreecommitdiff
path: root/gtk-engine-check-abi.sh
blob: 5cade631cea339ad7d70cbc78b0c3b451bc2334c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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