1#! /bin/sh 2 3# 4# mksyms.sh 5# 6# Extract symbols to export from C-header files. 7# output in version-script format for linking shared libraries. 8# 9# This is the shell wrapper for the mksyms.awk core script. 10# 11# Copyright (C) 2008 Michael Adam <obnox@samba.org> 12# 13 14LANG=C; export LANG 15LC_ALL=C; export LC_ALL 16LC_COLLATE=C; export LC_COLLATE 17 18if [ $# -lt 2 ] 19then 20 echo "Usage: $0 awk output_file header_files" 21 exit 1 22fi 23 24awk="$1" 25shift 26 27symsfile="$1" 28shift 29symsfile_tmp="$symsfile.$$.tmp~" 30 31proto_src="`echo $@ | tr ' ' '\n' | sort | uniq `" 32 33echo creating $symsfile 34 35mkdir -p `dirname $symsfile` 36 37${awk} -f `dirname $0`/mksyms.awk $proto_src > $symsfile_tmp 38 39if cmp -s $symsfile $symsfile_tmp 2>/dev/null 40then 41 echo "$symsfile unchanged" 42 rm $symsfile_tmp 43else 44 mv $symsfile_tmp $symsfile 45fi 46