mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
2d6d6bcb5d
Make sure we always have a sorted (per file) export file. This way we can directly compare the real export and the check file w/o having to further sort things. Also return error code from abi_checks.sh if warnings were reported
63 lines
1017 B
Bash
Executable File
63 lines
1017 B
Bash
Executable File
#! /bin/sh
|
|
|
|
#
|
|
# mksyms.sh
|
|
#
|
|
# Extract symbols to export from C-header files.
|
|
# output in version-script format for linking shared libraries.
|
|
#
|
|
# This is the shell wrapper for the mksyms.awk core script.
|
|
#
|
|
# Copyright (C) 2008 Micheal Adam <obnox@samba.org>
|
|
#
|
|
|
|
LANG=C; export LANG
|
|
LC_ALL=C; export LC_ALL
|
|
LC_COLLATE=C; export LC_COLLATE
|
|
|
|
if [ $# -lt 2 ]
|
|
then
|
|
echo "Usage: $0 awk output_file header_files"
|
|
exit 1
|
|
fi
|
|
|
|
awk="$1"
|
|
shift
|
|
|
|
symsfile="$1"
|
|
shift
|
|
symsfile_tmp="$symsfile.$$.tmp~"
|
|
|
|
proto_src="`echo $@ | tr ' ' '\n' | sort | uniq `"
|
|
|
|
echo creating $symsfile
|
|
|
|
mkdir -p `dirname $symsfile`
|
|
|
|
#Write header
|
|
cat > $symsfile_tmp << EOF
|
|
# This file is autogenerated, please DO NOT EDIT
|
|
{
|
|
global:
|
|
EOF
|
|
|
|
#loop on each header
|
|
for i in $proto_src; do
|
|
${awk} -f `dirname $0`/mksyms.awk $i | sort >> $symsfile_tmp
|
|
done;
|
|
|
|
#Write tail
|
|
cat >> $symsfile_tmp << EOF
|
|
|
|
local: *;
|
|
};
|
|
EOF
|
|
|
|
if cmp -s $symsfile $symsfile_tmp 2>/dev/null
|
|
then
|
|
echo "$symsfile unchanged"
|
|
rm $symsfile_tmp
|
|
else
|
|
mv $symsfile_tmp $symsfile
|
|
fi
|