• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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