notcurses/tools/function-table.sh
2020-08-23 09:07:40 -04:00

19 lines
538 B
Bash
Executable File

#!/bin/sh
# Extract a list of the public API, both shared object functions and those
# static inline functions in the public headers.
usage () { echo "usage: `basename $0` notcurses-dir" ; }
[ $# -eq 1 ] || { usage >&2 ; exit 1 ; }
NCDIR="$1"
[ -d "$NCDIR" ] || { usage >&2 ; exit 1 ; }
generate_lists () {
grep -h ^API "$1"/include/notcurses/*.h
grep -h -A1 ^static\ inline "$1"/include/notcurses/*.h | \
sed -e '/^--$/d' -e 'N;s/\n/ /' -e 's/\(.*\){$/\1;/'
}
generate_lists "$NCDIR" | sed -e 's/RESTRICT/restrict/g' | sort