Improve the VFS Makefile so that it is easier for use out of tree but still works...
[Samba/gebeck_regimport.git] / lib / tdb / script / abi_checks_gcc.sh
blobf0e02f482555c4795bca9d4e7b128d8d8d470af3
1 #!/bin/bash
3 make clean
5 mkdir -p abi/common
6 mkdir -p abi/tools
7 ABI_CHECKS="-aux-info abi/\$@.X"
8 make ABI_CHECK="$ABI_CHECKS" CC="/usr/bin/gcc"
10 for i in abi/*/*.X; do cat $i | grep 'tdb\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' | sort > abi/signatures
11 grep '^extern' include/tdb.h | grep -v '"C"' | sort | uniq | awk -F "extern " '{ print $2 }' >> abi/signatures
13 cat > abi/exports << EOF
15 global:
16 EOF
17 #Functions
18 cat abi/signatures | grep "(" | awk -F '(' '{ print $1 }' | awk -F ' ' '{ print " "$NF";" }' | tr -d '*' | sort >> abi/exports
19 #global vars
20 cat abi/signatures | grep -v "(" | awk -F ';' '{print $1 }' | awk -F ' ' '{ print " "$NF";" }' | tr -d '*' | sort >> abi/exports
21 cat >> abi/exports << EOF
23 local: *;
25 EOF
27 diff -u tdb.signatures abi/signatures
28 if [ "$?" != "0" ]; then
29 echo "WARNING: Possible ABI Change!!"
32 diff -u tdb.exports abi/exports
33 if [ "$?" != "0" ]; then
34 echo "WARNING: Export file may be outdated!!"