1b8e80941Smrg#!/usr/bin/env bash 2b8e80941Smrgset -e 3b8e80941Smrg 4b8e80941Smrgif [ -z "$srcdir" ] 5b8e80941Smrgthen 6b8e80941Smrg srcdir=$(dirname "$0") 7b8e80941Smrgfi 8b8e80941Smrg 9b8e80941Smrg# extract enum definition 10b8e80941Smrgdispatch_list=$(sed '/__GLXdispatchIndex/,/__GLXdispatchIndex/!d' \ 11b8e80941Smrg "$srcdir"/../g_glxglvnddispatchindices.h) 12b8e80941Smrg 13b8e80941Smrg# extract values inside of enum 14b8e80941Smrgdispatch_list=$(sed '1d;$d' <<< "$dispatch_list") 15b8e80941Smrg 16b8e80941Smrg# remove indentation 17b8e80941Smrgdispatch_list=$(sed 's/^\s\+//' <<< "$dispatch_list") 18b8e80941Smrg 19b8e80941Smrg# extract function names 20b8e80941Smrgdispatch_list=$(sed 's/DI_//;s/,//' <<< "$dispatch_list") 21b8e80941Smrg 22b8e80941Smrg# same for commented functions, we want to keep them sorted too 23b8e80941Smrgdispatch_list=$(sed 's#// ##;s/ implemented by [a-z]\+//' <<< "$dispatch_list") 24b8e80941Smrg 25b8e80941Smrg# remove LAST_INDEX, as it will not be in alphabetical order 26b8e80941Smrgdispatch_list=$(sed '/LAST_INDEX/d' <<< "$dispatch_list") 27b8e80941Smrg 28b8e80941Smrgsorted=$(LC_ALL=C sort <<< "$dispatch_list") 29b8e80941Smrg 30b8e80941Smrgtest "$dispatch_list" = "$sorted" 31