diff options
Diffstat (limited to 'source3/script/mksyms.sh')
-rwxr-xr-x | source3/script/mksyms.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/source3/script/mksyms.sh b/source3/script/mksyms.sh new file mode 100755 index 0000000..9a08685 --- /dev/null +++ b/source3/script/mksyms.sh @@ -0,0 +1,46 @@ +#! /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 Michael 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) + +${awk} -f $(dirname $0)/mksyms.awk $proto_src >$symsfile_tmp + +if cmp -s $symsfile $symsfile_tmp 2>/dev/null; then + echo "$symsfile unchanged" + rm $symsfile_tmp +else + mv $symsfile_tmp $symsfile +fi |