1#!/bin/bash 2 3# Generator for linker version script. 4# We use the same linker version script for all public .so files 5# 6# generate-map-file.sh where-is/map-file public_interface_1.h public_interface_2.h ... public_interface_N.h 7# 8 9CTAGS_IDENTIFIER_LIST="PA_GCC_MALLOC,PA_GCC_ALLOC_SIZE2,PA_GCC_ALLOC_SIZE,PA_GCC_PURE,PA_GCC_CONST,PA_GCC_DEPRECATED,PA_GCC_PRINTF_ATTR" 10 11print_map_file() { 12 echo "PULSE_0 {" 13 echo "global:" 14 ctags -I ${CTAGS_IDENTIFIER_LIST} -f - --c-kinds=p "$@" | awk '/^pa_/ { print $1 ";" }' | sort 15 echo "local:" 16 echo "*;" 17 echo "};" 18} 19 20TARGET_FILE=$1 21shift 22 23cd "${MESON_SOURCE_ROOT}/${MESON_SUBDIR}" && print_map_file "$@" > ${TARGET_FILE} 24