(List (= scope= flags=0 words=[] bindings=[('LANG', {[LIT_CHARS C]})]) (= scope= flags=1 words=[{[LIT_CHARS LANG]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('LC_ALL', {[LIT_CHARS C]})]) (= scope= flags=1 words=[{[LIT_CHARS LC_ALL]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('LC_COLLATE', {[LIT_CHARS C]})]) (= scope= flags=1 words=[{[LIT_CHARS LC_COLLATE]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('exit_status', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('script', {[VarSub 0]})]) (= scope= flags=0 words=[] bindings=[('dir_name', {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub script]})]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS x] [DQ [VarSub 1]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS x]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "USAGE: "][VarSub script][LIT_CHARS " libname header [header ...]"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('libname', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (If (Com {[LIT_CHARS test]} {[LIT_CHARS x] [DQ [VarSub 1]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS x]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "USAGE: "][VarSub script][LIT_CHARS " libname header [header ...]"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('headers', {[DQ [VarSub *]]})]) (= scope= flags=0 words=[] bindings=[('exports_file', {[VarSub libname] [LIT_CHARS .exports]})]) (= scope= flags=0 words=[] bindings=[('exports_file_check', {[VarSub exports_file] [LIT_CHARS .check]})]) (= scope= flags=0 words=[] bindings=[('signatures_file', {[VarSub libname] [LIT_CHARS .signatures]})]) (= scope= flags=0 words=[] bindings=[('signatures_file_check', {[VarSub signatures_file] [LIT_CHARS .check]})]) (Com {[VarSub dir_name] [LIT_CHARS /mksyms.sh]} {[LIT_CHARS awk]} {[VarSub exports_file_check]} {[VarSub headers]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Pipeline (Com {[LIT_CHARS cat]} {[VarSub headers]}) (Com {[VarSub dir_name] [LIT_CHARS /mksigs.pl]}) (Com {[LIT_CHARS sort]}) (Com {[LIT_CHARS uniq]} < (FilenameRedirectNode filename={[VarSub signatures_file_check]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[VarSub exports_file]} {[VarSub exports_file_check]}) (If (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS x][VarSub ?]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS x0]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "WARNING: possible ABI change detected in exports!"]]}) (Com {[LIT_CHARS let]} {[LIT_CHARS exit_status] [LIT_OTHER "+"] [LIT_OTHER "+"]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "exports check: OK"]]}) ) (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[VarSub signatures_file]} {[VarSub signatures_file_check]}) (If (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS x][VarSub ?]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS x0]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "WARNING: possible ABI change detected in signatures!"]]}) (Com {[LIT_CHARS let]} {[LIT_CHARS exit_status] [LIT_OTHER "+"] [LIT_OTHER "+"]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "signatures check: OK"]]}) ) (Com {[LIT_CHARS exit]} {[VarSub exit_status]}) )