[BACK]Return to mkvermap CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib

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>