diff options
author | Michael Adam <obnox@samba.org> | 2008-02-14 14:15:07 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2008-02-14 14:17:57 +0100 |
commit | b09b3ac8f88d7b89501193efca3615518218d6f1 (patch) | |
tree | d87491fcc3df2a7512d7f4cb64ab3afb3be2dd4d /source3/script/mksyms.sh | |
parent | 8e3ae7baaf287f70123eda7aa478ac82812e7c81 (diff) | |
download | samba-b09b3ac8f88d7b89501193efca3615518218d6f1.tar.gz samba-b09b3ac8f88d7b89501193efca3615518218d6f1.tar.xz samba-b09b3ac8f88d7b89501193efca3615518218d6f1.zip |
Create symbols to export in libtdb dynamically from tdb.h.
This adds a general mechanism to create version-scripts for
linking shared libraries from one or several header files,
similar to mkproto.sh/awk.
Michael
(This used to be commit 65817703c49a7410f4f0c8b46494ede6169d9fa6)
Diffstat (limited to 'source3/script/mksyms.sh')
-rwxr-xr-x | source3/script/mksyms.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/source3/script/mksyms.sh b/source3/script/mksyms.sh new file mode 100755 index 00000000000..637ec5027c4 --- /dev/null +++ b/source3/script/mksyms.sh @@ -0,0 +1,45 @@ +#! /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 warpper 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` + +${awk} -f script/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 |