Annotation of src/lib/mkvermap, Revision 1.1.2.1
1.1.2.1 ! agc 1: #! /bin/sh
! 2:
! 3: # $NetBSD: genraidconf.sh,v 1.5 2011/05/19 00:24:22 agc Exp $
! 4:
! 5: # Copyright (c) 2013 Alistair Crooks <agc@NetBSD.org>
! 6: # All rights reserved.
! 7: #
! 8: # Redistribution and use in source and binary forms, with or without
! 9: # modification, are permitted provided that the following conditions
! 10: # are met:
! 11: # 1. Redistributions of source code must retain the above copyright
! 12: # notice, this list of conditions and the following disclaimer.
! 13: # 2. Redistributions in binary form must reproduce the above copyright
! 14: # notice, this list of conditions and the following disclaimer in the
! 15: # documentation and/or other materials provided with the distribution.
! 16: #
! 17: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
! 18: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! 19: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
! 20: # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
! 21: # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
! 22: # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
! 23: # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
! 24: # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
! 25: # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! 26: # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 27: #
! 28:
! 29: # Usage: mkvermap c
! 30: # makes symbol versioning info for /usr/lib/libc.so
! 31:
! 32: major=0
! 33: minor=0
! 34: minimus=0
! 35: if [ -f shlib_version ]; then
! 36: . ./shlib_version
! 37: fi
! 38: os="$(uname -r)"
! 39: output=Version.map
! 40: while [ $# -gt 0 ]; do
! 41: case "$1" in
! 42: --major=*) major=${1#--major=} ;;
! 43: --minor=*) minor=${1#--minor=} ;;
! 44: --os=*) os=${1#--os=} ;;
! 45: --output=*) output=${1#--output=} ;;
! 46: -o) output=$2; shift ;;
! 47: -v) set -x ;;
! 48: *) break ;;
! 49: esac
! 50: shift
! 51: done
! 52:
! 53: LIB=$1
! 54:
! 55: nm /usr/lib/lib${LIB}.so |
! 56: awk '$2 ~ /^[BCDRTWV]$/ { print "\t" $3 ";" }' |
! 57: sort -u |
! 58: awk -v LIB=${LIB} -v osver="${os}" -v major=${major} -v minor=${minor} -v minimus=${minimus} '
! 59: BEGIN {
! 60: printf("LIB%s_%s.%s.%s.0 {\nglobal:\n", toupper(LIB), major, minor, minimus)
! 61: }
! 62: { print }
! 63: END {
! 64: printf("};\n\n");
! 65: printf("NetBSD_%s.0 {\n} LIB%s_%s.%s.%s.0;\n\n", osver, toupper(LIB), major, minor, minimus);
! 66: printf("LIB%s_private_%s.%s.%s.0 {\nlocal:\n\t*;\n};\n\n", toupper(LIB), major, minor, minimus);
! 67: }' > ${output}
! 68:
! 69: exit 0
CVSweb <webmaster@jp.NetBSD.org>