| #!/usr/bin/env bash |
| set -e |
| |
| if [ -z "$srcdir" ] |
| then |
| srcdir=$(dirname "$0") |
| fi |
| |
| # extract enum definition |
| dispatch_list=$(sed '/__GLXdispatchIndex/,/__GLXdispatchIndex/!d' \ |
| "$srcdir"/../g_glxglvnddispatchindices.h) |
| |
| # extract values inside of enum |
| dispatch_list=$(sed '1d;$d' <<< "$dispatch_list") |
| |
| # remove indentation |
| dispatch_list=$(sed 's/^\s\+//' <<< "$dispatch_list") |
| |
| # extract function names |
| dispatch_list=$(sed 's/DI_//;s/,//' <<< "$dispatch_list") |
| |
| # same for commented functions, we want to keep them sorted too |
| dispatch_list=$(sed 's#// ##;s/ implemented by [a-z]\+//' <<< "$dispatch_list") |
| |
| # remove LAST_INDEX, as it will not be in alphabetical order |
| dispatch_list=$(sed '/LAST_INDEX/d' <<< "$dispatch_list") |
| |
| sorted=$(LC_ALL=C sort <<< "$dispatch_list") |
| |
| test "$dispatch_list" = "$sorted" |