(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROGRAM) op: assign_op.Equal rhs: {<libtool>} spids: [83] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGE) op: assign_op.Equal rhs: {<libtool>} spids: [86] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VERSION) op: assign_op.Equal rhs: {(DQ <'2.4.6 Debian-2.4.6-0.1'>)} spids: [89] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:package_revision) op: assign_op.Equal rhs: {<2.4.6>} spids: [94] ) ] ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name AUTOCONF> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <autoconf>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name AUTOMAKE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <automake>)}) ) } ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:scriptversion) op: assign_op.Equal rhs: {<2015-01-20.17>} spids: [182] ) ] ) terminator: <Id.Op_Semi _> ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DUALCASE) op: assign_op.Equal rhs: {<1>} spids: [308] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<DUALCASE>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (braced_var_sub token: <Id.VSub_Name ZSH_VERSION> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>}) ) ) } ) (command.Subshell child: (C {<emulate>} {<sh>}) redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Id.Lit_Colon ':'>}) (C {<emulate>} {<sh>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NULLCMD) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [358] ) ] ) (C {<alias>} {<-g>} {(SQ <'${1+"$@"}'>) <Id.Lit_Equals '='> (SQ <'"$@"'>)}) (C {<setopt>} {<NO_GLOB_SUBST>}) ] spids: [319 348] ) ] else_action: [ (command.Case to_match: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Subshell child: (C {<set>} {<-o>}) redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) ) } arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <posix> <Id.Lit_Star '*'>}] action: [(C {<set>} {<-o>} {<posix>})] spids: [407 410 418 -1] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_user_locale) op: assign_op.Equal rhs: (word.Empty) spids: [428] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_safe_locale) op: assign_op.Equal rhs: (word.Empty) spids: [430] ) ] ) (command.ForEach iter_name: _G_var iter_words: [{<LANG>} {<LANGUAGE>} {<LC_ALL>} {<LC_CTYPE>} {<LC_COLLATE>} {<LC_MESSAGES>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} { (DQ <'if test set = '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{'> ($ Id.VSub_DollarName '$_G_var') <'+set}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'; then\n'> <' save_'> ($ Id.VSub_DollarName '$_G_var') <'='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ($ Id.VSub_DollarName '$_G_var') <'\n'> <' '> ($ Id.VSub_DollarName '$_G_var') <'=C\n'> <'\t export '> ($ Id.VSub_DollarName '$_G_var') <'\n'> <'\t _G_user_locale='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$_G_var') <'='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <save_> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'_G_var; '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <_G_user_locale> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'\n'> <'\t _G_safe_locale='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$_G_var') <'=C; '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <_G_safe_locale> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'\n'> <'\tfi'> ) } ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Subshell child: (C {<unset>} {<CDPATH>}) redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] ) (C {<unset>} {<CDPATH>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sp) op: assign_op.Equal rhs: {(SQ <' '>)} spids: [528] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nl) op: assign_op.Equal rhs: {(SQ <'\n'>)} spids: [533] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$sp') <'\t'> ($ Id.VSub_DollarName '$nl'))} spids: [538] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} { (DQ (braced_var_sub token: <Id.VSub_Name PATH_SEPARATOR> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>}) ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<set>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH_SEPARATOR) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [570] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(SQ <'/bin;/bin'>)} spids: [575] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FPATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$PATH')} spids: [581] ) ] ) terminator: <Id.Op_Semi _> ) (C {<sh>} {<-c>} {<Id.Lit_Colon ':'>}) ] ) redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] ) (BraceGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(SQ <'/bin:/bin'>)} spids: [604] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FPATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$PATH')} spids: [610] ) ] ) terminator: <Id.Op_Semi _> ) (C {<sh>} {<-c>} {<Id.Lit_Colon ':'>}) ] ) redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH_SEPARATOR) op: assign_op.Equal rhs: {(SQ <';'>)} spids: [630] ) ] ) ] ) ] ) ] ) ] spids: [549 567] ) ] ) (command.ShFunction name: func_executable_p body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<test>} {<-x>} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (command.ShFunction name: func_path_progs body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_progs_list) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [731] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_check_func) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [735] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_PATH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 3> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {(DQ ($ Id.VSub_DollarName '$PATH'))} ) ) } spids: [739] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog_max) op: assign_op.Equal rhs: {<0>} spids: [750] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog_found) op: assign_op.Equal rhs: {<false>} spids: [754] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_save_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [758] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PATH_SEPARATOR> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<':'>}) ) } spids: [762] ) ] ) (command.ForEach iter_name: _G_dir iter_words: [{($ Id.VSub_DollarName '$_G_PATH')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_save_IFS')} spids: [782] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$_G_dir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_dir) op: assign_op.Equal rhs: {<.>} spids: [796] ) ] ) ] ) (command.ForEach iter_name: _G_prog_name iter_words: [{($ Id.VSub_DollarName '$_G_progs_list')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ForEach iter_name: _exeext iter_words: [{(SQ )} {<.EXE>}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_dir') <'/'> ($ Id.VSub_DollarName '$_G_prog_name') ($ Id.VSub_DollarName '$_exeext') } spids: [827] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<func_executable_p>} {(DQ ($ Id.VSub_DollarName '$_G_path_prog'))} ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] ) (command.Case to_match: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {(DQ ($ Id.VSub_DollarName '$_G_path_prog'))} {<--version>} ] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) ) } arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <GNU> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_path_progs_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_path_prog')} spids: [868] ) (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog_found) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [871] ) ] ) ] spids: [863 866 874 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {($ Id.VSub_DollarName '$_G_check_func')} {($ Id.VSub_DollarName '$_G_path_prog')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_path_progs_result) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$func_check_prog_result') } spids: [885] ) ] ) ] spids: [877 878 889 -1] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$_G_path_prog_found')}) (command.ControlFlow token: <Id.ControlFlow_Break break> arg_word: {<3>} ) ] ) ] ) ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_save_IFS')} spids: [913] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$func_path_progs_result'))}) (BraceGroup children: [ (command.Simple words: [ {<echo>} { (DQ <'no acceptable sed could be found in '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <PATH> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$SED'))}) (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_sed_script) op: assign_op.Equal rhs: {<'s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/'>} spids: [985] ) ] ) (command.ForEach iter_name: _G_i iter_words: [{<1>} {<2>} {<3>} {<4>} {<5>} {<6>} {<7>}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_sed_script) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_sed_script') ($ Id.VSub_DollarName '$nl') ($ Id.VSub_DollarName '$_G_sed_script') } spids: [1013] ) ] ) ] ) ) (command.Pipeline children: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_DollarName '$_G_sed_script'))}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple words: [{<sed>} {<99q>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.sed>} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_sed_script) op: assign_op.Equal rhs: (word.Empty) spids: [1041] ) ] ) (command.ShFunction name: func_check_prog_sed body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [1054] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_count) op: assign_op.Equal rhs: {<0>} spids: [1059] ) ] ) (command.Simple words: [{<printf>} {<0123456789>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.in>} ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<Id.Lit_Colon ':'>})]) body: (command.DoGroup children: [ (command.Simple words: [{<cat>} {<conftest.in>} {<conftest.in>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.tmp>} ) ] do_fork: T ) (C {<mv>} {<conftest.tmp>} {<conftest.in>}) (C {<cp>} {<conftest.in>} {<conftest.nl>}) (command.Simple words: [{<echo>} {(SQ )}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.nl>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(DQ ($ Id.VSub_DollarName '$_G_path_prog'))} {<-f>} {<conftest.sed>} ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<conftest.nl>} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.out>} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<diff>} {<conftest.out>} {<conftest.nl>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_count) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$_G_count')} {<Id.Lit_Other '+'>} {<1>} ) ) } spids: [1152] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ ($ Id.VSub_DollarName '$_G_count'))} {<-gt>} {(DQ ($ Id.VSub_DollarName '$_G_path_prog_max'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_check_prog_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_path_prog')} spids: [1188] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog_max) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_count')} spids: [1192] ) ] ) ] spids: [1166 1181] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<10>} {<-lt>} {(DQ ($ Id.VSub_DollarName '$_G_count'))}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) ] ) ) (C {<rm>} {<-f>} {<conftest.in>} {<conftest.tmp>} {<conftest.nl>} {<conftest.out>}) ] ) ) (C {<func_path_progs>} {(DQ <'sed gsed'>)} {<func_check_prog_sed>} {($ Id.VSub_DollarName '$PATH') <Id.Lit_Colon ':'> <'/usr/xpg4/bin'>} ) (C {<rm>} {<-f>} {<conftest.sed>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SED) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_path_progs_result')} spids: [1258] ) ] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$GREP'))}) (BraceGroup children: [ (command.ShFunction name: func_check_prog_grep body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [1293] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_count) op: assign_op.Equal rhs: {<0>} spids: [1298] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog_max) op: assign_op.Equal rhs: {<0>} spids: [1302] ) ] ) (command.Simple words: [{<printf>} {<0123456789>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.in>} ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<Id.Lit_Colon ':'>})]) body: (command.DoGroup children: [ (command.Simple words: [{<cat>} {<conftest.in>} {<conftest.in>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.tmp>} ) ] do_fork: T ) (C {<mv>} {<conftest.tmp>} {<conftest.in>}) (C {<cp>} {<conftest.in>} {<conftest.nl>}) (command.Simple words: [{<echo>} {(SQ <GREP>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.nl>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(DQ ($ Id.VSub_DollarName '$_G_path_prog'))} {<-e>} {(SQ <'GREP$'>)} {<-e>} {(SQ <'-(cannot match)-'>)} ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<conftest.nl>} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.out>} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<diff>} {<conftest.out>} {<conftest.nl>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_count) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$_G_count')} {<Id.Lit_Other '+'>} {<1>} ) ) } spids: [1404] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ ($ Id.VSub_DollarName '$_G_count'))} {<-gt>} {(DQ ($ Id.VSub_DollarName '$_G_path_prog_max'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_check_prog_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_path_prog')} spids: [1440] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_path_prog_max) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_count')} spids: [1444] ) ] ) ] spids: [1418 1433] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<10>} {<-lt>} {(DQ ($ Id.VSub_DollarName '$_G_count'))}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) ] ) ) (C {<rm>} {<-f>} {<conftest.in>} {<conftest.tmp>} {<conftest.nl>} {<conftest.out>}) ] ) ) (C {<func_path_progs>} {(DQ <'grep ggrep'>)} {<func_check_prog_grep>} {($ Id.VSub_DollarName '$PATH') <Id.Lit_Colon ':'> <'/usr/xpg4/bin'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GREP) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_path_progs_result')} spids: [1503] ) ] ) ] ) ] ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name CP> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <'cp -f'>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name ECHO> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ <'printf %s'> <Id.Lit_BadBackslash '\\'> <n>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name EGREP> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ ($ Id.VSub_DollarName '$GREP') <' -E'>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name FGREP> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ ($ Id.VSub_DollarName '$GREP') <' -F'>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name LN_S> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <'ln -s'>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name MAKE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <make>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name MKDIR> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <mkdir>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name MV> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <'mv -f'>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name RM> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <'rm -f'>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name SHELL> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: { (DQ (braced_var_sub token: <Id.VSub_Name CONFIG_SHELL> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {<Id.Lit_Slash '/'> <bin> <Id.Lit_Slash '/'> <sh>} ) ) ) } ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_dirname) op: assign_op.Equal rhs: {(SQ <'s|/[^/]*$||'>)} spids: [1656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_basename) op: assign_op.Equal rhs: {(SQ <'s|^.*/||'>)} spids: [1661] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_quote_subst) op: assign_op.Equal rhs: {(SQ <'s|\\([`"$\\\\]\\)|\\\\\\1|g'>)} spids: [1673] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_double_quote_subst) op: assign_op.Equal rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)} spids: [1682] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_make_literal_regex) op: assign_op.Equal rhs: {(SQ <'s|[].[^$\\\\*\\/]|\\\\&|g'>)} spids: [1694] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_naive_backslashify) op: assign_op.Equal rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)} spids: [1709] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_bs) op: assign_op.Equal rhs: {(SQ <'\\\\'>)} spids: [1730] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_bs2) op: assign_op.Equal rhs: {(SQ <'\\\\\\\\'>)} spids: [1735] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_bs4) op: assign_op.Equal rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)} spids: [1740] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_dollar) op: assign_op.Equal rhs: {(SQ <'\\$'>)} spids: [1745] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_double_backslash) op: assign_op.Equal rhs: { (DQ <' s/'> ($ Id.VSub_DollarName '$_G_bs4') <'/&'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'\n'> <'/g\n'> <' s/^'> ($ Id.VSub_DollarName '$_G_bs2') ($ Id.VSub_DollarName '$_G_dollar') <'/'> ($ Id.VSub_DollarName '$_G_bs') <'&/\n'> <' s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'([^'> ($ Id.VSub_DollarName '$_G_bs') <']'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <')'> ($ Id.VSub_DollarName '$_G_bs2') ($ Id.VSub_DollarName '$_G_dollar') <'/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <1> ($ Id.VSub_DollarName '$_G_bs2') ($ Id.VSub_DollarName '$_G_bs') ($ Id.VSub_DollarName '$_G_dollar') <'/g\n'> <' s/'> <Id.Lit_BadBackslash '\\'> <'n//g'> ) } spids: [1750] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXIT_SUCCESS) op: assign_op.Equal rhs: {<0>} spids: [1835] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXIT_FAILURE) op: assign_op.Equal rhs: {<1>} spids: [1838] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXIT_MISMATCH) op: assign_op.Equal rhs: {<63>} spids: [1841] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXIT_SKIP) op: assign_op.Equal rhs: {<77>} spids: [1847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:debug_cmd) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name debug_cmd> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{(DQ <':'>)}) ) } spids: [1869] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exit_cmd) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [1878] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exit_status) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$EXIT_SUCCESS')} spids: [1903] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progpath) op: assign_op.Equal rhs: {($ Id.VSub_Number '$0')} spids: [1922] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progname) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$progpath'))}) (C {($ Id.VSub_DollarName '$SED')} {(DQ ($ Id.VSub_DollarName '$sed_basename'))}) ] negated: F ) ) } spids: [1929] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$progpath')} arms: [ (case_arm pat_list: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_LBracket '['> <A-Za-z> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Star '*'> } ] spids: [1958 1970 1972 -1] ) (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$progpath'))} ) (C {($ Id.VSub_DollarName '$SED')} {(DQ ($ Id.VSub_DollarName '$sed_dirname'))} ) ] negated: F ) ) } spids: [1984] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.AndOr ops: [Id.Op_DAmp] children: [(C {<cd>} {(DQ ($ Id.VSub_DollarName '$progdir'))}) (C {<pwd>})] ) ) } spids: [2003] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progpath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$progdir') <'/'> ($ Id.VSub_DollarName '$progname')} spids: [2019] ) ] ) ] spids: [1975 1981 2025 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [2032] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PATH_SEPARATOR> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<':'>}) ) } spids: [2036] ) ] ) (command.ForEach iter_name: progdir iter_words: [{($ Id.VSub_DollarName '$PATH')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_IFS')} spids: [2056] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-x>} { (DQ ($ Id.VSub_DollarName '$progdir') <'/'> ($ Id.VSub_DollarName '$progname') ) } ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_IFS')} spids: [2078] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$progdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progdir) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))} spids: [2092] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progpath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$progdir') <'/'> ($ Id.VSub_DollarName '$progname')} spids: [2100] ) ] ) ] spids: [2028 2029 2106 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_dry_run) op: assign_op.Equal rhs: {<false>} spids: [2132] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_quiet) op: assign_op.Equal rhs: {<false>} spids: [2135] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {<false>} spids: [2138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:warning_categories) op: assign_op.Equal rhs: (word.Empty) spids: [2151] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:warning_func) op: assign_op.Equal rhs: {<func_warn_and_continue>} spids: [2163] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning_types) op: assign_op.Equal rhs: {<all>} spids: [2176] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:require_term_colors) op: assign_op.Equal rhs: {<func_require_term_colors>} spids: [2232] ) ] ) (command.ShFunction name: func_require_term_colors body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-t>} {<1>}) (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (braced_var_sub token: <Id.VSub_Name COLORTERM> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name USE_ANSI_COLORS> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <1>)}) ) } ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$USE_ANSI_COLORS'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_reset) op: assign_op.Equal rhs: {(SQ <'\x1b[0m'>)} spids: [2316] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_bold) op: assign_op.Equal rhs: {(SQ <'\x1b[1m'>)} spids: [2322] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_standout) op: assign_op.Equal rhs: {(SQ <'\x1b[7m'>)} spids: [2328] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_red) op: assign_op.Equal rhs: {(SQ <'\x1b[31m'>)} spids: [2334] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_green) op: assign_op.Equal rhs: {(SQ <'\x1b[32m'>)} spids: [2340] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_blue) op: assign_op.Equal rhs: {(SQ <'\x1b[34m'>)} spids: [2346] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_cyan) op: assign_op.Equal rhs: {(SQ <'\x1b[36m'>)} spids: [2352] ) ] ) ] spids: [2296 2309] ) ] else_action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<sgr0>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_reset) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<sgr0>}) ) } spids: [2387] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<bold>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_bold) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<bold>}) ) } spids: [2416] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_standout) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$tc_bold')} spids: [2426] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<smso>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_standout) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<smso>}) ) } spids: [2449] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<setaf>} {<1>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_red) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<setaf>} {<1>}) ) } spids: [2480] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<setaf>} {<2>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_green) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<setaf>} {<2>}) ) } spids: [2513] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<setaf>} {<4>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_blue) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<setaf>} {<4>}) ) } spids: [2546] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<tput>} {<setaf>} {<5>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tc_cyan) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<tput>} {<setaf>} {<5>}) ) } spids: [2579] ) ] ) ] ) ] ) ] ) ] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:require_term_colors) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [2601] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<set>} {<Id.Lit_Equals '='>} { (DQ (braced_var_sub token: <Id.VSub_Name BASH_VERSION> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>}) ) (braced_var_sub token: <Id.VSub_Name ZSH_VERSION> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>}) ) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name _G_HAVE_ARITH_OP> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <yes>)}) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name _G_HAVE_XSI_OPS> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <yes>)}) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$BASH_VERSION')} arms: [ (case_arm pat_list: [ {<Id.Lit_LBracket '['> <12> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'>} {<3.0>} {<3.0> <Id.Lit_Star '*'>} ] spids: [2713 2727 2729 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name _G_HAVE_PLUSEQ_OP> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{(DQ <yes>)}) ) } ) ] spids: [2732 2733 2747 -1] ) ] ) ] spids: [2655 2677] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_PLUSEQ_OP'))}) (command.Subshell child: (C {<eval>} {(SQ <'x=a; x+=" b"; test "a b" = "$x"'>)}) redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_HAVE_PLUSEQ_OP) op: assign_op.Equal rhs: {<yes>} spids: [2796] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_PLUSEQ_OP'))} ) ] ) action: [ (C {<eval>} { (SQ <'func_append ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' eval "$1+=\\$2"\n'> <' }'> ) } ) ] spids: [2800 2812] ) ] else_action: [ (command.ShFunction name: func_append body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<eval>} { (DQ ($ Id.VSub_Number '$1') <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) ($ Id.VSub_Number '$1') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <2> ) } ) ] ) ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_PLUSEQ_OP'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (SQ <'func_append_quoted ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_quote_for_eval "$2"\n'> <' eval "$1+=\\\\ \\$func_quote_for_eval_result"\n'> <' }'> ) } ) ] spids: [2880 2893] ) ] else_action: [ (command.ShFunction name: func_append_quoted body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_Number '$2'))}) (C {<eval>} { (DQ ($ Id.VSub_Number '$1') <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) ($ Id.VSub_Number '$1') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <func_quote_for_eval_result> ) } ) ] ) ) ] ) (command.ShFunction name: func_append_uniq body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<eval>} {<Id.Lit_VarLike '_G_current_value='> (SQ <'`$ECHO $'>) ($ Id.VSub_Number '$1') (SQ <'`'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_delim) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Colon ':'>} {(SQ <'\\(.\\)'>)} ) ) } spids: [3005] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$_G_delim') ($ Id.VSub_DollarName '$_G_current_value') ($ Id.VSub_DollarName '$_G_delim') } arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ ($ Id.VSub_Number '$2') ($ Id.VSub_DollarName '$_G_delim')) <Id.Lit_Star '*'> } ] spids: [3037 3043 3045 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<func_append>} {(DQ ($ Id.VSub_At '$@'))})] spids: [3048 3049 3057 -1] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_ARITH_OP'))}) (command.Subshell child: (C {<eval>} {(SQ <'test 2 = $(( 1 + 1 ))'>)}) redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_HAVE_ARITH_OP) op: assign_op.Equal rhs: {<yes>} spids: [3103] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_ARITH_OP'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (SQ <'func_arith ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_arith_result=$(( $* ))\n'> <' }'> ) } ) ] spids: [3107 3120] ) ] else_action: [ (command.ShFunction name: func_arith body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_arith_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ ($ Id.VSub_At '$@'))}) ) } spids: [3150] ) ] ) ] ) ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_b) op: assign_op.Equal rhs: {(SQ <'func_basename_result=${1##*/}'>)} spids: [3208] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_d) op: assign_op.Equal rhs: { (SQ <'case $1 in\n'> <' */*) func_dirname_result=${1%/*}$2 ;;\n'> <' * ) func_dirname_result=$3 ;;\n'> <' esac'> ) } spids: [3214] ) ] ) ] spids: [3180 3193] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_b) op: assign_op.Equal rhs: {(SQ <'func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'>)} spids: [3230] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_d) op: assign_op.Equal rhs: { (SQ <'func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`\n'> <' if test "X$func_dirname_result" = "X$1"; then\n'> <' func_dirname_result=$3\n'> <' else\n'> <' func_append func_dirname_result "$2"\n'> <' fi'> ) } spids: [3236] ) ] ) ] ) (C {<eval>} {(SQ <'func_basename ()\n'> <'{\n'> <' $debug_cmd\n'> <'\n'> <' '>) (DQ ($ Id.VSub_DollarName '$_b')) (SQ <'\n'> <'}'>) } ) (C {<eval>} {(SQ <'func_dirname ()\n'> <'{\n'> <' $debug_cmd\n'> <'\n'> <' '>) (DQ ($ Id.VSub_DollarName '$_d')) (SQ <'\n'> <'}'>) } ) (C {<eval>} {(SQ <'func_dirname_and_basename ()\n'> <'{\n'> <' $debug_cmd\n'> <'\n'> <' '>) (DQ ($ Id.VSub_DollarName '$_b')) (SQ <'\n'> <' '>) (DQ ($ Id.VSub_DollarName '$_d')) (SQ <'\n'> <'}'>) } ) (command.ShFunction name: func_echo body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_message) op: assign_op.Equal rhs: {($ Id.VSub_Star '$*')} spids: [3382] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_echo_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [3387] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$nl')} spids: [3391] ) ] ) (command.ForEach iter_name: _G_line iter_words: [{($ Id.VSub_DollarName '$_G_message')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_echo_IFS')} spids: [3407] ) ] ) (C {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$progname') <': '> ($ Id.VSub_DollarName '$_G_line')) } ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_echo_IFS')} spids: [3423] ) ] ) ] ) ) (command.ShFunction name: func_echo_all body: (BraceGroup children:[(C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Star '$*'))})]) ) (command.ShFunction name: func_echo_infix_1 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {($ Id.VSub_DollarName '$require_term_colors')}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_infix) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [3485] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_indent) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_infix')} spids: [3492] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_prefix) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$progname') <': '> ($ Id.VSub_DollarName '$_G_infix') <': '> ) } spids: [3496] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_message) op: assign_op.Equal rhs: {($ Id.VSub_Star '$*')} spids: [3505] ) ] ) (command.ForEach iter_name: _G_tc iter_words: [ {(DQ ($ Id.VSub_DollarName '$tc_reset'))} {(DQ ($ Id.VSub_DollarName '$tc_bold'))} {(DQ ($ Id.VSub_DollarName '$tc_standout'))} {(DQ ($ Id.VSub_DollarName '$tc_red'))} {(DQ ($ Id.VSub_DollarName '$tc_green'))} {(DQ ($ Id.VSub_DollarName '$tc_blue'))} {(DQ ($ Id.VSub_DollarName '$tc_cyan'))} ] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$_G_tc'))}) (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_esc_tc) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$_G_tc'))} ) (C {($ Id.VSub_DollarName '$SED')} { (DQ ($ Id.VSub_DollarName '$sed_make_literal_regex') ) } ) ] negated: F ) ) } spids: [3565] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_indent) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$_G_indent'))} ) (C {($ Id.VSub_DollarName '$SED')} { (DQ <'s|'> ($ Id.VSub_DollarName '$_G_esc_tc') <'||g'> ) } ) ] negated: F ) ) } spids: [3585] ) ] ) ] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_indent) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$progname') <': '>) (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$_G_indent'))}) (C {($ Id.VSub_DollarName '$SED')} {(SQ <'s|.| |g'>)}) ] negated: F ) ) (DQ <' '>) } spids: [3613] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_echo_infix_1_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [3644] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$nl')} spids: [3648] ) ] ) (command.ForEach iter_name: _G_line iter_words: [{($ Id.VSub_DollarName '$_G_message')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_echo_infix_1_IFS')} spids: [3664] ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$_G_prefix') ($ Id.VSub_DollarName '$tc_bold') ($ Id.VSub_DollarName '$_G_line') ($ Id.VSub_DollarName '$tc_reset') ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_prefix) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_indent')} spids: [3681] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_echo_infix_1_IFS')} spids: [3688] ) ] ) ] ) ) (command.ShFunction name: func_error body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {($ Id.VSub_DollarName '$require_term_colors')}) (command.Simple words: [ {<func_echo_infix_1>} { (DQ <' '> ($ Id.VSub_DollarName '$tc_standout') (${ Id.VSub_Name tc_red) <error> ($ Id.VSub_DollarName '$tc_reset') ) } {(DQ ($ Id.VSub_Star '$*'))} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] ) ) (command.ShFunction name: func_fatal_error body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_error>} {(DQ ($ Id.VSub_Star '$*'))}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')} ) ] ) ) (command.ShFunction name: func_grep body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Simple words: [ {($ Id.VSub_DollarName '$GREP')} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] ) ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))}) (command.Subshell child: (C {<eval>} {(SQ <'x=a/b/c;\n'> <' test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"'>)} ) redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_HAVE_XSI_OPS) op: assign_op.Equal rhs: {<yes>} spids: [3861] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (SQ <'func_len ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_len_result=${#1}\n'> <' }'> ) } ) ] spids: [3865 3878] ) ] else_action: [ (command.ShFunction name: func_len body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_len_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<expr>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Colon ':'>} {(DQ <'.*'>)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<echo>} {($ Id.VSub_DollarName '$max_cmd_len')}) ] ) ) } spids: [3908] ) ] ) ] ) ) ] ) (command.ShFunction name: func_mkdir_p body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_directory_path) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [3962] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_dir_list) op: assign_op.Equal rhs: (word.Empty) spids: [3966] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$_G_directory_path'))}) (C {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_dry_run'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Case to_match: {($ Id.VSub_DollarName '$_G_directory_path')} arms: [ (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_directory_path) op: assign_op.Equal rhs: {<'./'> ($ Id.VSub_DollarName '$_G_directory_path')} spids: [4013] ) ] ) ] spids: [4009 4011 4017 -1] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName '$_G_directory_path'))} ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_dir_list) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_directory_path') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$_G_dir_list') } spids: [4052] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$_G_directory_path')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>}] spids: [4069 4072 4074 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] spids: [4076 4077 4081 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_directory_path) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$_G_directory_path'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ ($ Id.VSub_DollarName '$sed_dirname'))} ) ] negated: F ) ) } spids: [4091] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_dir_list) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$_G_dir_list'))} ) (C {($ Id.VSub_DollarName '$SED')} {(SQ <'s|:*$||'>)}) ] negated: F ) ) } spids: [4116] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_mkdir_p_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [4137] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [4141] ) ] ) (command.ForEach iter_name: _G_dir iter_words: [{($ Id.VSub_DollarName '$_G_dir_list')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_mkdir_p_IFS')} spids: [4157] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {($ Id.VSub_DollarName '$MKDIR')} {(DQ ($ Id.VSub_DollarName '$_G_dir'))} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<Id.Lit_Colon ':'>}) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_mkdir_p_IFS')} spids: [4190] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-d>} {(DQ ($ Id.VSub_DollarName '$_G_directory_path'))}) (C {<func_fatal_error>} {(DQ <'Failed to create \''> ($ Id.VSub_Number '$1') <'\''>)} ) ] ) ] spids: [3970 3994] ) ] ) ] ) ) (command.ShFunction name: func_mktempdir body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_template) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name TMPDIR> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {<Id.Lit_Slash '/'> <tmp>} ) ) <'/'> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {($ Id.VSub_DollarName '$progname')} ) ) } spids: [4253] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<Id.Lit_Colon ':'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_dry_run'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_tmpdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_template') <-> ($ Id.VSub_Dollar '$$')} spids: [4289] ) ] ) ] spids: [4269 4282] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_tmpdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<mktemp>} {<-d>} {(DQ ($ Id.VSub_DollarName '$_G_template') <-XXXXXXXX>)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [4303] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName '$_G_tmpdir'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_tmpdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_template') <-> (braced_var_sub token: <Id.VSub_Name RANDOM> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) ($ Id.VSub_Dollar '$$') } spids: [4342] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_mktempdir_umask) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<umask>}))} spids: [4354] ) ] ) (C {<umask>} {<0077>}) (C {($ Id.VSub_DollarName '$MKDIR')} {(DQ ($ Id.VSub_DollarName '$_G_tmpdir'))}) (C {<umask>} {($ Id.VSub_DollarName '$func_mktempdir_umask')}) ] spids: [4322 4335] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-d>} {(DQ ($ Id.VSub_DollarName '$_G_tmpdir'))}) (C {<func_fatal_error>} { (DQ <'cannot create temporary directory \''> ($ Id.VSub_DollarName '$_G_tmpdir') <'\''> ) } ) ] ) ] ) (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$_G_tmpdir'))}) ] ) ) (command.ShFunction name: func_normal_abspath body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_pathcar) op: assign_op.Equal rhs: {(SQ <'s|^/\\([^/]*\\).*$|\\1|'>)} spids: [4453] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_pathcdr) op: assign_op.Equal rhs: {(SQ <'s|^/[^/]*||'>)} spids: [4459] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_removedotparts) op: assign_op.Equal rhs: {(SQ <':dotsl\n'> <'\t\ts|/\\./|/|g\n'> <'\t\tt dotsl\n'> <'\t\ts|/\\.$|/|'>)} spids: [4465] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_collapseslashes) op: assign_op.Equal rhs: {(SQ <'s|/\\{1,\\}|/|g'>)} spids: [4474] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_finalslash) op: assign_op.Equal rhs: {(SQ <'s|/*$|/|'>)} spids: [4480] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_result) op: assign_op.Equal rhs: (word.Empty) spids: [4491] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_tpath) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [4494] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_altnamespace) op: assign_op.Equal rhs: (word.Empty) spids: [4498] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$func_normal_abspath_tpath')} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (C {<func_stripname>} {(SQ )} {(SQ <'/'>)} {(DQ (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>})))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [4535] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [4508 4510 4542 -1] ) (case_arm pat_list: [{<'///'> <Id.Lit_Star '*'>}] spids: [4557 4559 4566 -1] ) (case_arm pat_list: [{<'//'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_altnamespace) op: assign_op.Equal rhs: {<'/'>} spids: [4586] ) ] ) ] spids: [4569 4571 4590 -1] ) (case_arm pat_list: [{<'/'> <Id.Lit_Star '*'>}] spids: [4593 4595 4602 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_tpath) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>})) <'/'> ($ Id.VSub_DollarName '$func_normal_abspath_tpath') } spids: [4613] ) ] ) ] spids: [4605 4606 4623 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_tpath) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$func_normal_abspath_tpath'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ ($ Id.VSub_DollarName '$_G_removedotparts'))} {<-e>} {(DQ ($ Id.VSub_DollarName '$_G_collapseslashes'))} {<-e>} {(DQ ($ Id.VSub_DollarName '$_G_finalslash'))} ) ] negated: F ) ) } spids: [4642] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_Colon ':'>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<'/'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$func_normal_abspath_tpath'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName '$func_normal_abspath_result') ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_result) op: assign_op.Equal rhs: {<'/'>} spids: [4727] ) ] ) ] spids: [4713 4724] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [4693 4706] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_tcomponent) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$func_normal_abspath_tpath'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ ($ Id.VSub_DollarName '$_G_pathcar'))} ) ] negated: F ) ) } spids: [4740] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_tpath) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$func_normal_abspath_tpath'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ ($ Id.VSub_DollarName '$_G_pathcdr'))} ) ] negated: F ) ) } spids: [4767] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$func_normal_abspath_tcomponent')} arms: [ (case_arm pat_list: [{(DQ )}] spids: [4805 4807 4814 -1] ) (case_arm pat_list: [{<..>}] action: [ (C {<func_dirname>} {(DQ ($ Id.VSub_DollarName '$func_normal_abspath_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [4832] ) ] ) ] spids: [4817 4818 4836 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_append>} {<func_normal_abspath_result>} {(DQ <'/'> ($ Id.VSub_DollarName '$func_normal_abspath_tcomponent'))} ) ] spids: [4839 4840 4857 -1] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_normal_abspath_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_normal_abspath_altnamespace') ($ Id.VSub_DollarName '$func_normal_abspath_result') } spids: [4870] ) ] ) ] ) ) (command.ShFunction name: func_notquiet body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_quiet')}) (C {<func_echo>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) ] ) (C {<Id.Lit_Colon ':'>}) ] ) ) (command.ShFunction name: func_relative_path body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: (word.Empty) spids: [4954] ) ] ) (C {<func_normal_abspath>} {(DQ ($ Id.VSub_Number '$1'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_tlibdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_normal_abspath_result')} spids: [4964] ) ] ) (C {<func_normal_abspath>} {(DQ ($ Id.VSub_Number '$2'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_tbindir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_normal_abspath_result')} spids: [4975] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_Colon ':'>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$func_relative_path_tbindir')} arms: [ (case_arm pat_list: [{($ Id.VSub_DollarName '$func_relative_path_tlibdir')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_tcancelled) op: assign_op.Equal rhs: (word.Empty) spids: [5011] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [5003 5004 5017 -1] ) (case_arm pat_list: [ {($ Id.VSub_DollarName '$func_relative_path_tlibdir') <Id.Lit_Star '*'>} ] action: [ (C {<func_stripname>} {(DQ ($ Id.VSub_DollarName '$func_relative_path_tlibdir'))} {(SQ )} {(DQ ($ Id.VSub_DollarName '$func_relative_path_tbindir'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_tcancelled) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [5043] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName '$func_relative_path_result') ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: {<.>} spids: [5061] ) ] ) ] spids: [5047 5058] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [5020 5022 5071 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_dirname>} {($ Id.VSub_DollarName '$func_relative_path_tlibdir')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_tlibdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [5083] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName '$func_relative_path_tlibdir') ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: {<'../'> ($ Id.VSub_DollarName '$func_relative_path_result') } spids: [5105] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_tcancelled) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_relative_path_tbindir')} spids: [5110] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [5087 5098] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: {<'../'> ($ Id.VSub_DollarName '$func_relative_path_result')} spids: [5120] ) ] ) ] spids: [5074 5075 5125 -1] ) ] ) ] ) ) (C {<func_stripname>} {(SQ )} {(SQ <'/'>)} {(DQ ($ Id.VSub_DollarName '$func_relative_path_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [5153] ) ] ) (C {<func_stripname>} {(SQ <'/'>)} {(SQ <'/'>)} {(DQ ($ Id.VSub_DollarName '$func_relative_path_tcancelled'))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$func_stripname_result'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<func_relative_path_result>} {(DQ <'/'> ($ Id.VSub_DollarName '$func_stripname_result'))} ) ] spids: [5172 5183] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$func_relative_path_result'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {(SQ <'./'>)} {(SQ )} {(DQ ($ Id.VSub_DollarName '$func_relative_path_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [5232] ) ] ) ] spids: [5204 5215] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$func_relative_path_result'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_relative_path_result) op: assign_op.Equal rhs: {<.>} spids: [5250] ) ] ) ] ) (C {<Id.Lit_Colon ':'>}) ] ) ) (command.ShFunction name: func_quote_for_eval body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_quote_for_eval_unquoted_result) op: assign_op.Equal rhs: (word.Empty) spids: [5300] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_quote_for_eval_result) op: assign_op.Equal rhs: (word.Empty) spids: [5303] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<0>} {<-lt>} {($ Id.VSub_Pound '$#')}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_unquoted_arg) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<printf>} {(SQ <'%s\\n'>)} {(DQ ($ Id.VSub_Number '$1'))} ) (C {($ Id.VSub_DollarName '$SED')} {(DQ ($ Id.VSub_DollarName '$sed_quote_subst'))} ) ] negated: F ) ) } spids: [5338] ) ] ) ] spids: [5327 5335 5362 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_unquoted_arg) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [5369] ) ] ) ] spids: [5365 5366 5372 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName '$func_quote_for_eval_unquoted_result' ) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<func_quote_for_eval_unquoted_result>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_unquoted_arg'))} ) ] spids: [5378 5389] ) ] else_action: [ (C {<func_append>} {<func_quote_for_eval_unquoted_result>} {(DQ ($ Id.VSub_DollarName '$_G_unquoted_arg'))} ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$_G_unquoted_arg')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\['> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\#'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\&'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\('> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\{'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\|'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\<'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\?'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {(DQ )} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_quoted_arg) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$_G_unquoted_arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } spids: [5477] ) ] ) ] spids: [5445 5474 5483 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_quoted_arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_unquoted_arg')} spids: [5490] ) ] ) ] spids: [5486 5487 5494 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$func_quote_for_eval_result'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<func_quote_for_eval_result>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_quoted_arg'))} ) ] spids: [5501 5512] ) ] else_action: [ (C {<func_append>} {<func_quote_for_eval_result>} {(DQ ($ Id.VSub_DollarName '$_G_quoted_arg'))} ) ] ) (C {<shift>}) ] ) ) ] ) ) (command.ShFunction name: func_quote_for_expand body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_arg) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Number '$1'))}) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ ($ Id.VSub_DollarName '$sed_double_quote_subst'))} {<-e>} {(DQ ($ Id.VSub_DollarName '$sed_double_backslash'))} ) ] negated: F ) ) } spids: [5590] ) ] ) ] spids: [5580 5587 5622 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_arg) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [5629] ) ] ) ] spids: [5625 5626 5632 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$_G_arg')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\['> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\#'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\&'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\('> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\{'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\|'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\<'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\?'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {(DQ )} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_arg) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$_G_arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } spids: [5694] ) ] ) ] spids: [5662 5691 5700 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_quote_for_expand_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_G_arg')} spids: [5707] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (SQ <'func_stripname ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\n'> <' # positional parameters, so assign one to ordinary variable first.\n'> <' func_stripname_result=$3\n'> <' func_stripname_result=${func_stripname_result#"$1"}\n'> <' func_stripname_result=${func_stripname_result%"$2"}\n'> <' }'> ) } ) ] spids: [5732 5745] ) ] else_action: [ (command.ShFunction name: func_stripname body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {($ Id.VSub_Number '$2')} arms: [ (case_arm pat_list: [{<.> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_stripname_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Number '$3'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ <'s%^'> ($ Id.VSub_Number '$1') <'%%'>)} {<-e>} { (DQ <'s%'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ($ Id.VSub_Number '$2') <Id.Lit_Dollar '$'> <'%%'> ) } ) ] negated: F ) ) } spids: [5790] ) ] ) ] spids: [5786 5788 5827 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_stripname_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Number '$3'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(DQ <'s%^'> ($ Id.VSub_Number '$1') <'%%'>)} {<-e>} {(DQ <'s%'> ($ Id.VSub_Number '$2') <Id.Lit_Dollar '$'> <'%%'>)} ) ] negated: F ) ) } spids: [5833] ) ] ) ] spids: [5830 5831 5866 -1] ) ] ) ] ) ) ] ) (command.ShFunction name: func_show_eval body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_cmd) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [5905] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_fail_exp) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{(SQ <':'>)}) ) } spids: [5909] ) ] ) (C {<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName '$_G_cmd'))}) (C {<eval>} {(DQ <'func_notquiet '> ($ Id.VSub_DollarName '$func_quote_for_expand_result'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (BraceGroup children: [ (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_G_cmd'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [5950] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName '$_G_status'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (DQ <'(exit '> ($ Id.VSub_DollarName '$_G_status') <'); '> ($ Id.VSub_DollarName '$_G_fail_exp') ) } ) ] spids: [5954 5967] ) ] ) ] ) ] ) ] ) ) (command.ShFunction name: func_show_eval_locale body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_cmd) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [6016] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_fail_exp) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{(SQ <':'>)}) ) } spids: [6020] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_quiet')}) (BraceGroup children: [ (C {<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName '$_G_cmd'))}) (C {<eval>} {(DQ <'func_echo '> ($ Id.VSub_DollarName '$func_quote_for_expand_result'))} ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (BraceGroup children: [ (C {<eval>} { (DQ ($ Id.VSub_DollarName '$_G_user_locale') <'\n'> <'\t '> ($ Id.VSub_DollarName '$_G_cmd') ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [6074] ) ] ) (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_G_safe_locale'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName '$_G_status'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (DQ <'(exit '> ($ Id.VSub_DollarName '$_G_status') <'); '> ($ Id.VSub_DollarName '$_G_fail_exp') ) } ) ] spids: [6085 6098] ) ] ) ] ) ] ) ] ) ) (command.ShFunction name: func_tr_sh body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [ {<Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <a-zA-Z0-9_> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_tr_sh_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Number '$1'))}) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(SQ <'s/^\\([0-9]\\)/_\\1/'>)} {<-e>} {(SQ <'s/[^a-zA-Z0-9_]/_/g'>)} ) ] negated: F ) ) } spids: [6173] ) ] ) ] spids: [6157 6170 6207 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_tr_sh_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [6215] ) ] ) ] spids: [6210 6212 6219 -1] ) ] ) ] ) ) (command.ShFunction name: func_verbose body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$opt_verbose')}) (C {<func_echo>} {(DQ ($ Id.VSub_Star '$*'))}) ] ) (C {<Id.Lit_Colon ':'>}) ] ) ) (command.ShFunction name: func_warn_and_continue body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {($ Id.VSub_DollarName '$require_term_colors')}) (command.Simple words: [ {<func_echo_infix_1>} {(DQ (${ Id.VSub_Name tc_red) <warning> ($ Id.VSub_DollarName '$tc_reset'))} {(DQ ($ Id.VSub_Star '$*'))} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] ) ) (command.ShFunction name: func_warning body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {(DQ <' '> ($ Id.VSub_DollarName '$warning_categories') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number '$1') <' '>) <Id.Lit_Star '*'>} ] spids: [6358 6365 6367 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_internal_error>} {(DQ <'invalid warning category \''> ($ Id.VSub_Number '$1') <'\''>)} ) ] spids: [6370 6371 6381 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_category) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [6388] ) ] ) (C {<shift>}) (command.Case to_match: {(DQ <' '> ($ Id.VSub_DollarName '$opt_warning_types') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName '$_G_category') <' '>) <Id.Lit_Star '*'> } ] action: [ (C {($ Id.VSub_DollarName '$warning_func')} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) ] spids: [6407 6414 6426 -1] ) ] ) ] ) ) (command.ShFunction name: func_sort_ver body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Pipeline children: [ (C {<printf>} {(SQ <'%s\\n%s\\n'>)} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} ) (C {<sort>} {<-t.>} {<-k>} {<1> <Id.Lit_Comma ','> <1n>} {<-k>} {<2> <Id.Lit_Comma ','> <2n>} {<-k>} {<3> <Id.Lit_Comma ','> <3n>} {<-k>} {<4> <Id.Lit_Comma ','> <4n>} {<-k>} {<5> <Id.Lit_Comma ','> <5n>} {<-k>} {<6> <Id.Lit_Comma ','> <6n>} {<-k>} {<7> <Id.Lit_Comma ','> <7n>} {<-k>} {<8> <Id.Lit_Comma ','> <8n>} {<-k>} {<9> <Id.Lit_Comma ','> <9n>} ) ] negated: F ) ] ) ) (command.ShFunction name: func_lt_ver body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<test>} {(DQ <x> ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<func_sort_ver>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} ) (C {($ Id.VSub_DollarName '$SED')} {<1q>}) ] negated: F ) ) } ) ] ) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:scriptversion) op: assign_op.Equal rhs: {<2014-01-07.03>} spids: [6645] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:usage) op: assign_op.Equal rhs: {(SQ <'$progpath [OPTION]...'>)} spids: [6850] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:usage_message) op: assign_op.Equal rhs: { (DQ <' --debug enable verbose shell tracing\n'> <' -W, --warnings=CATEGORY\n'> <' report the warnings falling in CATEGORY [all]\n'> <' -v, --verbose verbosely report processing\n'> <' --version print version information and exit\n'> <' -h, --help print short or long help message and exit\n'> ) } spids: [6865] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:long_help_message) op: assign_op.Equal rhs: { (DQ <'\n'> <'Warning categories include:\n'> <' \'all\' show all warnings\n'> <' \'none\' turn off all the warnings\n'> <' \'error\' warnings are treated as fatal errors'> ) } spids: [6880] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fatal_help) op: assign_op.Equal rhs: { (DQ <'Try \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'progname --help\' for more information.'> ) } spids: [6893] ) ] ) (command.ShFunction name: func_hookable body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_append>} {<hookable_fns>} {(DQ <' '> ($ Id.VSub_Number '$1'))}) ] ) ) (command.ShFunction name: func_add_hook body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {(DQ <' '> ($ Id.VSub_DollarName '$hookable_fns') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number '$1') <' '>) <Id.Lit_Star '*'>} ] spids: [6995 7002 7004 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_fatal_error>} {(DQ <'\''> ($ Id.VSub_Number '$1') <'\' does not accept hook functions.'>)} ) ] spids: [7007 7008 7018 -1] ) ] ) (C {<eval>} {<func_append>} {(${ Id.VSub_Number 1) <_hooks>} {(SQ <'" $2"'>)}) ] ) ) (command.ShFunction name: func_remove_hook body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<eval>} {(${ Id.VSub_Number 1) <Id.Lit_VarLike '_hooks='> (SQ <'`$ECHO "\\$'>) ($ Id.VSub_Number '$1') (SQ <'_hooks" |$SED "s| '>) ($ Id.VSub_Number '$2') (SQ <'||"`'>) } ) ] ) ) (command.ShFunction name: func_run_hooks body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {(DQ <' '> ($ Id.VSub_DollarName '$hookable_fns') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number '$1') <' '>) <Id.Lit_Star '*'>} ] spids: [7129 7136 7138 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_fatal_error>} {(DQ <'\''> ($ Id.VSub_Number '$1') <'\' does not support hook funcions.n'>)} ) ] spids: [7141 7142 7152 -1] ) ] ) (command.Sentence child: (C {<eval>} {<Id.Lit_VarLike '_G_hook_fns='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ($ Id.VSub_Number '$1') <_hooks> } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.ForEach iter_name: _G_hook iter_words: [{($ Id.VSub_DollarName '$_G_hook_fns')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} {($ Id.VSub_DollarName '$_G_hook')} {(SQ <'"$@"'>)}) (C {<eval>} {<Id.Lit_VarLike '_G_hook_result='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) (${ Id.VSub_Name _G_hook) <_result> } ) (command.Sentence child: (C {<eval>} {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$_G_hook_result'))}) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) ) (C {<func_quote_for_eval>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_run_hooks_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_quote_for_eval_result')} spids: [7240] ) ] ) ] ) ) (C {<func_hookable>} {<func_options>}) (command.ShFunction name: func_options body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_options_prep>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (C {<eval>} {<func_parse_options>} { (braced_var_sub token: <Id.VSub_Name func_options_prep_result> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_DollarName '$func_options_prep_result'))} ) ) } ) (C {<eval>} {<func_validate_options>} { (braced_var_sub token: <Id.VSub_Name func_parse_options_result> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_DollarName '$func_parse_options_result'))} ) ) } ) (C {<eval>} {<func_run_hooks>} {<func_options>} { (braced_var_sub token: <Id.VSub_Name func_validate_options_result> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_DollarName '$func_validate_options_result'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_options_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_run_hooks_result')} spids: [7541] ) ] ) ] ) ) (C {<func_hookable>} {<func_options_prep>}) (command.ShFunction name: func_options_prep body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {<false>} spids: [7592] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning_types) op: assign_op.Equal rhs: (word.Empty) spids: [7596] ) ] ) (C {<func_run_hooks>} {<func_options_prep>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_options_prep_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_run_hooks_result')} spids: [7618] ) ] ) ] ) ) (C {<func_hookable>} {<func_parse_options>}) (command.ShFunction name: func_parse_options body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_parse_options_result) op: assign_op.Equal rhs: (word.Empty) spids: [7650] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_Pound '$#')} {<-gt>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<func_run_hooks>} {<func_parse_options>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.Sentence child: (C {<eval>} {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$func_run_hooks_result'))} ) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_Pound '$#')} {<-gt>} {<0>}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_opt) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [7731] ) ] ) (C {<shift>}) (command.Case to_match: {($ Id.VSub_DollarName '$_G_opt')} arms: [ (case_arm pat_list: [{<--debug>} {<-x>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:debug_cmd) op: assign_op.Equal rhs: {(SQ <'set -x'>)} spids: [7750] ) ] ) (C {<func_echo>} {(DQ <'enabling shell trace mode'>)}) (C {($ Id.VSub_DollarName '$debug_cmd')}) ] spids: [7745 7748 7766 -1] ) (case_arm pat_list: [{<--no-warnings>} {<--no-warning>} {<--no-warn>}] action: [ (C {<set>} {<dummy>} {<--warnings>} {<none>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (C {<shift>}) ] spids: [7770 7775 7798 -1] ) (case_arm pat_list: [{<--warnings>} {<--warning>} {<-W>}] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_Pound '$#')} {<Id.Lit_Equals '='>} {<0>}) (C {<func_missing_arg>} {($ Id.VSub_DollarName '$_G_opt')}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.Case to_match: { (DQ <' '> ($ Id.VSub_DollarName '$warning_categories') <' '> ($ Id.VSub_Number '$1') ) } arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number '$1') <' '>) <Id.Lit_Star '*'> } ] action: [ (C {<func_append_uniq>} {<opt_warning_types>} {(DQ <' '> ($ Id.VSub_Number '$1'))} ) ] spids: [7841 7848 7865 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <all>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning_types) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$warning_categories')} spids: [7873] ) ] ) ] spids: [7868 7870 7877 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <none>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning_types) op: assign_op.Equal rhs: {<none>} spids: [7885] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:warning_func) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [7889] ) ] ) ] spids: [7880 7882 7893 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <error>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning_types) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$warning_categories')} spids: [7901] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:warning_func) op: assign_op.Equal rhs: {<func_fatal_error>} spids: [7905] ) ] ) ] spids: [7896 7898 7909 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_fatal_error>} { (DQ <'unsupported warning category: \''> ($ Id.VSub_Number '$1') <'\''> ) } ) ] spids: [7912 7913 7927 -1] ) ] ) (C {<shift>}) ] spids: [7802 7807 7936 -1] ) (case_arm pat_list: [{<--verbose>} {<-v>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [7945] ) ] ) ] spids: [7940 7943 7948 -1] ) (case_arm pat_list: [{<--version>}] action: [(C {<func_version>})] spids: [7951 7952 7956 -1] ) (case_arm pat_list: [ {<-> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'>)} {<-h>} ] action: [(C {<func_usage>})] spids: [7959 7963 7967 -1] ) (case_arm pat_list: [{<--help>}] action: [(C {<func_help>})] spids: [7970 7971 7975 -1] ) (case_arm pat_list: [{<--> <Id.Lit_Star '*'> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}] action: [ (C {<func_split_equals>} {(DQ ($ Id.VSub_DollarName '$_G_opt'))}) (C {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$func_split_equals_lhs'))} {(DQ ($ Id.VSub_DollarName '$func_split_equals_rhs'))} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (C {<shift>}) ] spids: [7983 7987 8022 -1] ) (case_arm pat_list: [{<-W> <Id.Lit_Star '*'>}] action: [ (C {<func_split_short_opt>} {(DQ ($ Id.VSub_DollarName '$_G_opt'))}) (C {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$func_split_short_opt_name'))} {(DQ ($ Id.VSub_DollarName '$func_split_short_opt_arg'))} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (C {<shift>}) ] spids: [8030 8032 8068 -1] ) (case_arm pat_list: [ {<-> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'>) <Id.Lit_Star '*'> } {<-h> <Id.Lit_Star '*'>} {<-v> <Id.Lit_Star '*'>} {<-x> <Id.Lit_Star '*'>} ] action: [ (C {<func_split_short_opt>} {(DQ ($ Id.VSub_DollarName '$_G_opt'))}) (C {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$func_split_short_opt_name'))} {(DQ <-> ($ Id.VSub_DollarName '$func_split_short_opt_arg'))} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (C {<shift>}) ] spids: [8076 8088 8125 -1] ) (case_arm pat_list: [{<-->}] action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] spids: [8129 8130 8134 -1] ) (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] action: [ (C {<func_fatal_help>} { (DQ <'unrecognised option: \''> ($ Id.VSub_DollarName '$_G_opt') <'\''>) } ) ] spids: [8137 8139 8149 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Sentence child: (C {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$_G_opt'))} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [8152 8153 8177 -1] ) ] ) ] ) ) (C {<func_quote_for_eval>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_parse_options_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_quote_for_eval_result')} spids: [8202] ) ] ) ] ) ) (C {<func_hookable>} {<func_validate_options>}) (command.ShFunction name: func_validate_options body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$opt_warning_types'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning_types) op: assign_op.Equal rhs: {(DQ <' '> ($ Id.VSub_DollarName '$warning_categories'))} spids: [8251] ) ] ) ] ) (C {<func_run_hooks>} {<func_validate_options>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (C {($ Id.VSub_DollarName '$exit_cmd')} {($ Id.VSub_DollarName '$EXIT_FAILURE')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_validate_options_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_run_hooks_result')} spids: [8287] ) ] ) ] ) ) (command.ShFunction name: func_fatal_help body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (DQ <'Usage: '> ($ Id.VSub_DollarName '$usage')) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) (C {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (DQ ($ Id.VSub_DollarName '$fatal_help')) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) (C {<func_error>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')} ) ] ) ) (command.ShFunction name: func_help body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_usage_message>}) (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$long_help_message'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) ) (command.ShFunction name: func_missing_arg body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_error>} {(DQ <'Missing argument for \''> ($ Id.VSub_Number '$1') <'\'.'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exit_cmd) op: assign_op.Equal rhs: {<Id.ControlFlow_Exit exit>} spids: [8453] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))}) (command.Subshell child: (C {<eval>} {(SQ <'x=a/b/c;\n'> <' test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"'>)} ) redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_HAVE_XSI_OPS) op: assign_op.Equal rhs: {<yes>} spids: [8500] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))}) ] ) action: [ (C {<eval>} { (SQ <'func_split_equals ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_split_equals_lhs=${1%%=*}\n'> <' func_split_equals_rhs=${1#*=}\n'> <' test "x$func_split_equals_lhs" = "x$1" \\\n'> <' && func_split_equals_rhs=\n'> <' }'> ) } ) ] spids: [8504 8516] ) ] else_action: [ (command.ShFunction name: func_split_equals body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_split_equals_lhs) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ <x> ($ Id.VSub_Number '$1'))} {<Id.Lit_Colon ':'>} {(SQ <'x\\([^=]*\\)'>)} ) ) } spids: [8557] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_split_equals_rhs) op: assign_op.Equal rhs: (word.Empty) spids: [8580] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(DQ <x> ($ Id.VSub_DollarName '$func_split_equals_lhs'))} {<Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_split_equals_rhs) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ <x> ($ Id.VSub_Number '$1'))} {<Id.Lit_Colon ':'>} {(SQ <'x[^=]*=\\(.*\\)$'>)} ) ) } spids: [8601] ) ] ) ] ) ] ) ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))}) ] ) action: [ (C {<eval>} { (SQ <'func_split_short_opt ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_split_short_opt_arg=${1#??}\n'> <' func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\n'> <' }'> ) } ) ] spids: [8645 8657] ) ] else_action: [ (command.ShFunction name: func_split_short_opt body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_split_short_opt_name) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ <x> ($ Id.VSub_Number '$1'))} {<Id.Lit_Colon ':'>} {(SQ <'x-\\(.\\)'>)} ) ) } spids: [8696] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_split_short_opt_arg) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ <x> ($ Id.VSub_Number '$1'))} {<Id.Lit_Colon ':'>} {(SQ <'x-.\\(.*\\)$'>)} ) ) } spids: [8719] ) ] ) ] ) ) ] ) (command.ShFunction name: func_usage body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_usage_message>}) (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Run \''> ($ Id.VSub_DollarName '$progname') <' --help |'> (braced_var_sub token: <Id.VSub_Name PAGER> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<more>}) ) <'\' for full usage'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) ) (command.ShFunction name: func_usage_message body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (DQ <'Usage: '> ($ Id.VSub_DollarName '$usage')) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) (C {<echo>}) (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} {<-n>} { (SQ <'s|^# ||\n'> <' /^Written by/{\n'> <' x;p;x\n'> <' }\n'> <'\th\n'> <'\t/^Written by/q'> ) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$progpath'))} ) ] do_fork: T ) (C {<echo>}) (C {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (DQ ($ Id.VSub_DollarName '$usage_message')) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) ] ) ) (command.ShFunction name: func_version body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<printf>} {(SQ <'%s\\n'>)} {(DQ ($ Id.VSub_DollarName '$progname') <' '> ($ Id.VSub_DollarName '$scriptversion'))} ) (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} {<-n>} { (SQ <'\n'> <' /(C)/!b go\n'> <' :more\n'> <' /\\./!{\n'> <' N\n'> <' s|\\n# | |\n'> <' b more\n'> <' }\n'> <' :go\n'> <' /^# Written by /,/# warranty; / {\n'> <' s|^# ||\n'> <' s|^# *$||\n'> <' s|\\((C)\\)[ 0-9,-]*[ ,-]\\([1-9][0-9]* \\)|\\1 \\2|\n'> <' p\n'> <' }\n'> <' /^# Written by / {\n'> <' s|^# ||\n'> <' p\n'> <' }\n'> <' /^warranty; /q'> ) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$progpath'))} ) ] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:scriptversion) op: assign_op.Equal rhs: {(SQ <'(GNU libtool) 2.4.6'>)} spids: [8975] ) ] ) (command.ShFunction name: func_echo body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_message) op: assign_op.Equal rhs: {($ Id.VSub_Star '$*')} spids: [9006] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_echo_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [9011] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$nl')} spids: [9015] ) ] ) (command.ForEach iter_name: _G_line iter_words: [{($ Id.VSub_DollarName '$_G_message')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_echo_IFS')} spids: [9031] ) ] ) (C {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$progname') (braced_var_sub token: <Id.VSub_Name opt_mode> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {<': '> ($ Id.VSub_DollarName '$opt_mode')} ) ) <': '> ($ Id.VSub_DollarName '$_G_line') ) } ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_echo_IFS')} spids: [9053] ) ] ) ] ) ) (command.ShFunction name: func_warning body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {($ Id.VSub_DollarName '$warning_func')} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:usage) op: assign_op.Equal rhs: {(SQ <'$progpath [OPTION]... [MODE-ARG]...'>)} spids: [9115] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:usage_message) op: assign_op.Equal rhs: { (DQ <'Options:\n'> <' --config show all configuration variables\n'> <' --debug enable verbose shell tracing\n'> <' -n, --dry-run display commands without modifying any files\n'> <' --features display basic configuration information and exit\n'> <' --mode=MODE use operation mode MODE\n'> <' --no-warnings equivalent to \'-Wnone\'\n'> <' --preserve-dup-deps don\'t remove duplicate dependency libraries\n'> <' --quiet, --silent don\'t print informational messages\n'> <' --tag=TAG use configuration variables from tag TAG\n'> <' -v, --verbose print more informational messages than default\n'> <' --version print version information\n'> <' -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]\n'> <' -h, --help, --help-all print short, long, or detailed help message\n'> ) } spids: [9124] ) ] ) (command.ShFunction name: func_help body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_usage_message>}) (C {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$long_help_message') <'\n'> <'\n'> <'MODE must be one of the following:\n'> <'\n'> <' clean remove files from the build directory\n'> <' compile compile a source file into a libtool object\n'> <' execute automatically set library path, then run a program\n'> <' finish complete the installation of libtool libraries\n'> <' install install libraries or executables\n'> <' link create a library or an executable\n'> <' uninstall remove libraries from an installed directory\n'> <'\n'> <'MODE-ARGS vary depending on the MODE. When passed as first option,\n'> <'\'--mode=MODE\' may be abbreviated as \'MODE\' or a unique abbreviation of that.\n'> <'Try \''> ($ Id.VSub_DollarName '$progname') <' --help --mode=MODE\' for a more detailed description of MODE.\n'> <'\n'> <'When reporting a bug, please describe a test case to reproduce it and\n'> <'include the following information:\n'> <'\n'> <' host-triplet: '> ($ Id.VSub_DollarName '$host') <'\n'> <' shell: '> ($ Id.VSub_DollarName '$SHELL') <'\n'> <' compiler: '> ($ Id.VSub_DollarName '$LTCC') <'\n'> <' compiler flags: '> ($ Id.VSub_DollarName '$LTCFLAGS') <'\n'> <' linker: '> ($ Id.VSub_DollarName '$LD') <' (gnu? '> ($ Id.VSub_DollarName '$with_gnu_ld') <')\n'> <' version: '> ($ Id.VSub_DollarName '$progname') <' (GNU libtool) 2.4.6\n'> <' automake: '> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell child: (C {($ Id.VSub_DollarName '$AUTOMAKE')} {<--version>}) redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) (C {($ Id.VSub_DollarName '$SED')} {<1q>}) ] negated: F ) ) <'\n'> <' autoconf: '> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell child: (C {($ Id.VSub_DollarName '$AUTOCONF')} {<--version>}) redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) (C {($ Id.VSub_DollarName '$SED')} {<1q>}) ] negated: F ) ) <'\n'> <'\n'> <'Report bugs to <bug-libtool@gnu.org>.\n'> <'GNU libtool home page: <http://www.gnu.org/s/libtool/>.\n'> <'General help using GNU software: <http://www.gnu.org/gethelp/>.'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lo2o) op: assign_op.Equal rhs: {<'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <.lo> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/.'> ($ Id.VSub_DollarName '$objext') <'/'> } spids: [9272] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o2lo) op: assign_op.Equal rhs: {<'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <.> ($ Id.VSub_DollarName '$objext') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/.lo/'> } spids: [9281] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$_G_HAVE_XSI_OPS'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (SQ <'func_lo2o ()\n'> <' {\n'> <' case $1 in\n'> <' *.lo) func_lo2o_result=${1%.lo}.$objext ;;\n'> <' * ) func_lo2o_result=$1 ;;\n'> <' esac\n'> <' }'> ) } ) (C {<eval>} {(SQ <'func_xform ()\n'> <' {\n'> <' func_xform_result=${1%.*}.lo\n'> <' }'>)} ) ] spids: [9290 9303] ) ] else_action: [ (command.ShFunction name: func_lo2o body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_lo2o_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Number '$1'))}) (C {($ Id.VSub_DollarName '$SED')} {(DQ ($ Id.VSub_DollarName '$lo2o'))} ) ] negated: F ) ) } spids: [9361] ) ] ) ] ) ) (command.ShFunction name: func_xform body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_xform_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_Number '$1'))}) (C {($ Id.VSub_DollarName '$SED')} {(SQ <'s|\\.[^.]*$|.lo|'>)}) ] negated: F ) ) } spids: [9394] ) ] ) ] ) ) ] ) (command.ShFunction name: func_fatal_configuration body: (BraceGroup children: [ (C {<func__fatal_error>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } {(DQ <'See the '> ($ Id.VSub_DollarName '$PACKAGE') <' documentation for more information.'>)} {(DQ <'Fatal configuration error.'>)} ) ] ) ) (command.ShFunction name: func_config body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:re_begincf) op: assign_op.Equal rhs: {(SQ <'^# ### BEGIN LIBTOOL'>)} spids: [9487] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:re_endcf) op: assign_op.Equal rhs: {(SQ <'^# ### END LIBTOOL'>)} spids: [9493] ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} { (DQ <'1,/'> ($ Id.VSub_DollarName '$re_begincf') <' CONFIG/d;/'> ($ Id.VSub_DollarName '$re_endcf') <' CONFIG/,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <d> ) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$progpath'))} ) ] do_fork: T ) (command.ForEach iter_name: tagname iter_words: [{($ Id.VSub_DollarName '$taglist')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} {<-n>} { (DQ <'/'> ($ Id.VSub_DollarName '$re_begincf') <' TAG CONFIG: '> ($ Id.VSub_DollarName '$tagname') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/,/'> ($ Id.VSub_DollarName '$re_endcf') <' TAG CONFIG: '> ($ Id.VSub_DollarName '$tagname') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/p'> ) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$progpath'))} ) ] do_fork: T ) ] ) ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ) (command.ShFunction name: func_features body: (BraceGroup children: [ (C {<echo>} {(DQ <'host: '> ($ Id.VSub_DollarName '$host'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {(DQ <'enable shared libraries'>)})] spids: [9602 9615] ) ] else_action: [(C {<echo>} {(DQ <'disable shared libraries'>)})] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {(DQ <'enable static libraries'>)})] spids: [9638 9651] ) ] else_action: [(C {<echo>} {(DQ <'disable static libraries'>)})] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ) (command.ShFunction name: func_enable_tag body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tagname) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [9710] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:re_begincf) op: assign_op.Equal rhs: { (DQ <'^# ### BEGIN LIBTOOL TAG CONFIG: '> ($ Id.VSub_DollarName '$tagname') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) ) } spids: [9715] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:re_endcf) op: assign_op.Equal rhs: { (DQ <'^# ### END LIBTOOL TAG CONFIG: '> ($ Id.VSub_DollarName '$tagname') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) ) } spids: [9723] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sed_extractcf) op: assign_op.Equal rhs: {<'/'> ($ Id.VSub_DollarName '$re_begincf') <'/'> <Id.Lit_Comma ','> <'/'> ($ Id.VSub_DollarName '$re_endcf') <'/p'> } spids: [9731] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$tagname')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <-_A-Za-z0-9> <Id.Lit_Comma ','> <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (C {<func_fatal_error>} {(DQ <'invalid tag name: '> ($ Id.VSub_DollarName '$tagname'))} ) ] spids: [9753 9761 9772 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$tagname')} arms: [ (case_arm pat_list:[{<CC>}] spids:[9794 9795 9797 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [ {($ Id.VSub_DollarName '$GREP')} {(DQ ($ Id.VSub_DollarName '$re_begincf'))} {(DQ ($ Id.VSub_DollarName '$progpath'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:taglist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$taglist') <' '> ($ Id.VSub_DollarName '$tagname') ) } spids: [9826] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extractedcf) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} {<-n>} {<-e>} {(DQ ($ Id.VSub_DollarName '$sed_extractcf'))} ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$progpath'))} ) ] do_fork: T ) ) } spids: [9851] ) ] ) (C {<eval>} {(DQ ($ Id.VSub_DollarName '$extractedcf'))}) ] spids: [9804 9823] ) ] else_action: [ (C {<func_error>} {(DQ <'ignoring unknown tag '> ($ Id.VSub_DollarName '$tagname'))} ) ] ) ] spids: [9800 9801 9894 -1] ) ] ) ] ) ) (command.ShFunction name: func_check_version_match body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ ($ Id.VSub_DollarName '$package_revision'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$macro_revision'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ ($ Id.VSub_DollarName '$VERSION'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$macro_version'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$macro_version'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_LT_EOF>} here_end_span_id: 10000 stdin_parts: [ ($ Id.VSub_DollarName '$progname') <': Version mismatch error. This is '> ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$VERSION') <', but the\n'> ($ Id.VSub_DollarName '$progname') < ': definition of this LT_INIT comes from an older release.\n' > ($ Id.VSub_DollarName '$progname') < ': You should recreate aclocal.m4 with macros from ' > ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$VERSION') <'\n'> ($ Id.VSub_DollarName '$progname') <': and run autoconf again.\n'> ] ) ) ] do_fork: T ) ] spids: [9961 9972] ) ] else_action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_LT_EOF>} here_end_span_id: 10034 stdin_parts: [ ($ Id.VSub_DollarName '$progname') <': Version mismatch error. This is '> ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$VERSION') <', but the\n'> ($ Id.VSub_DollarName '$progname') <': definition of this LT_INIT comes from '> ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$macro_version') <'.\n'> ($ Id.VSub_DollarName '$progname') <': You should recreate aclocal.m4 with macros from '> ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$VERSION') <'\n'> ($ Id.VSub_DollarName '$progname') <': and run autoconf again.\n'> ] ) ) ] do_fork: T ) ] ) ] spids: [9942 9958] ) ] else_action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_LT_EOF>} here_end_span_id: 10073 stdin_parts: [ ($ Id.VSub_DollarName '$progname') <': Version mismatch error. This is '> ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$VERSION') <', revision '> ($ Id.VSub_DollarName '$package_revision') <',\n'> ($ Id.VSub_DollarName '$progname') <': but the definition of this LT_INIT comes from revision '> ($ Id.VSub_DollarName '$macro_revision') <'.\n'> ($ Id.VSub_DollarName '$progname') <': You should recreate aclocal.m4 with macros from revision '> ($ Id.VSub_DollarName '$package_revision') <'\n'> ($ Id.VSub_DollarName '$progname') <': of '> ($ Id.VSub_DollarName '$PACKAGE') <' '> ($ Id.VSub_DollarName '$VERSION') <' and run autoconf again.\n'> ] ) ) ] do_fork: T ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_MISMATCH')} ) ] spids: [9923 9939] ) ] ) ] ) ) (command.ShFunction name: libtool_options_prep body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_mode')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_config) op: assign_op.Equal rhs: {<false>} spids: [10115] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_dlopen) op: assign_op.Equal rhs: (word.Empty) spids: [10119] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_dry_run) op: assign_op.Equal rhs: {<false>} spids: [10122] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_help) op: assign_op.Equal rhs: {<false>} spids: [10126] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_mode) op: assign_op.Equal rhs: (word.Empty) spids: [10130] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_preserve_dup_deps) op: assign_op.Equal rhs: {<false>} spids: [10133] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_quiet) op: assign_op.Equal rhs: {<false>} spids: [10137] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nonopt) op: assign_op.Equal rhs: (word.Empty) spids: [10142] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:preserve_args) op: assign_op.Equal rhs: (word.Empty) spids: [10145] ) ] ) (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [{<clean>} {<clea>} {<cle>} {<cl>}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<clean>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10160 10167 10193 -1] ) (case_arm pat_list: [{<compile>} {<compil>} {<compi>} {<comp>} {<com>} {<co>} {<c>}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<compile>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10196 10209 10235 -1] ) (case_arm pat_list: [{<execute>} {<execut>} {<execu>} {<exec>} {<exe>} {<ex>} {<e>}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<execute>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10238 10251 10277 -1] ) (case_arm pat_list: [{<finish>} {<finis>} {<fini>} {<fin>} {<Id.KW_Fi fi>} {<f>}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<finish>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10280 10291 10317 -1] ) (case_arm pat_list: [{<install>} {<instal>} {<insta>} {<inst>} {<ins>} {<Id.KW_In in>} {<i>}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<install>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10320 10333 10359 -1] ) (case_arm pat_list: [{<link>} {<lin>} {<li>} {<l>}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<link>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10362 10369 10395 -1] ) (case_arm pat_list: [ {<uninstall>} {<uninstal>} {<uninsta>} {<uninst>} {<unins>} {<unin>} {<uni>} {<un>} {<u>} ] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<uninstall>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10398 10415 10441 -1] ) ] ) (C {<func_quote_for_eval>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libtool_options_prep_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_quote_for_eval_result')} spids: [10463] ) ] ) ] ) ) (C {<func_add_hook>} {<func_options_prep>} {<libtool_options_prep>}) (command.ShFunction name: libtool_parse_options body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_Pound '$#')} {<-gt>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_G_opt) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [10519] ) ] ) (C {<shift>}) (command.Case to_match: {($ Id.VSub_DollarName '$_G_opt')} arms: [ (case_arm pat_list: [{<--dry-run>} {<--dryrun>} {<-n>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_dry_run) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [10541] ) ] ) ] spids: [10533 10538 10545 -1] ) (case_arm pat_list: [{<--config>}] action: [(C {<func_config>})] spids: [10549 10550 10554 -1] ) (case_arm pat_list: [{<--dlopen>} {<-dlopen>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_dlopen) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name opt_dlopen> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {($ Id.VSub_DollarName '$opt_dlopen') <'\n'>} ) ) ($ Id.VSub_Number '$1') ) } spids: [10564] ) ] ) (C {<shift>}) ] spids: [10558 10561 10579 -1] ) (case_arm pat_list: [{<--preserve-dup-deps>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_preserve_dup_deps) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [10587] ) ] ) ] spids: [10583 10584 10590 -1] ) (case_arm pat_list: [{<--features>}] action: [(C {<func_features>})] spids: [10594 10595 10599 -1] ) (case_arm pat_list: [{<--finish>}] action: [ (command.Sentence child: (C {<set>} {<dummy>} {<--mode>} {<finish>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [10603 10604 10625 -1] ) (case_arm pat_list: [{<--help>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_help) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [10632] ) ] ) ] spids: [10629 10630 10635 -1] ) (case_arm pat_list: [{<--help-all>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_help) op: assign_op.Equal rhs: {(SQ <': help-all'>)} spids: [10642] ) ] ) ] spids: [10639 10640 10647 -1] ) (case_arm pat_list: [{<--mode>}] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_Pound '$#')} {<Id.Lit_Equals '='>} {<0>}) (C {<func_missing_arg>} {($ Id.VSub_DollarName '$_G_opt')}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_mode) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [10673] ) ] ) (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [ {<clean>} {<compile>} {<execute>} {<finish>} {<install>} {<link>} {<relink>} {<uninstall>} ] spids: [10688 10703 10705 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_error>} { (DQ <'invalid argument for '> ($ Id.VSub_DollarName '$_G_opt')) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exit_cmd) op: assign_op.Equal rhs: {<Id.ControlFlow_Exit exit>} spids: [10724] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [10713 10714 10731 -1] ) ] ) (C {<shift>}) ] spids: [10651 10652 10740 -1] ) (case_arm pat_list: [{<--no-silent>} {<--no-quiet>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_quiet) op: assign_op.Equal rhs: {<false>} spids: [10750] ) ] ) (C {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_opt'))} ) ] spids: [10744 10747 10764 -1] ) (case_arm pat_list: [{<--no-warnings>} {<--no-warning>} {<--no-warn>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_warning) op: assign_op.Equal rhs: {<false>} spids: [10776] ) ] ) (C {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_opt'))} ) ] spids: [10768 10773 10790 -1] ) (case_arm pat_list: [{<--no-verbose>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {<false>} spids: [10798] ) ] ) (C {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_opt'))} ) ] spids: [10794 10795 10812 -1] ) (case_arm pat_list: [{<--silent>} {<--quiet>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_quiet) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [10822] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {<false>} spids: [10826] ) ] ) (C {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_opt'))} ) ] spids: [10816 10819 10840 -1] ) (case_arm pat_list: [{<--tag>}] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_Pound '$#')} {<Id.Lit_Equals '='>} {<0>}) (C {<func_missing_arg>} {($ Id.VSub_DollarName '$_G_opt')}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_tag) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [10866] ) ] ) (C {<func_append>} {<preserve_args>} { (DQ <' '> ($ Id.VSub_DollarName '$_G_opt') <' '> ($ Id.VSub_Number '$1')) } ) (C {<func_enable_tag>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<shift>}) ] spids: [10844 10845 10892 -1] ) (case_arm pat_list: [{<--verbose>} {<-v>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_quiet) op: assign_op.Equal rhs: {<false>} spids: [10901] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [10905] ) ] ) (C {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName '$_G_opt'))} ) ] spids: [10896 10899 10919 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Sentence child: (C {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$_G_opt'))} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [10927 10928 10952 -1] ) ] ) ] ) ) (C {<func_quote_for_eval>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libtool_parse_options_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_quote_for_eval_result')} spids: [10978] ) ] ) ] ) ) (C {<func_add_hook>} {<func_parse_options>} {<libtool_parse_options>}) (command.ShFunction name: libtool_validate_options body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<0>} {<-lt>} {($ Id.VSub_Pound '$#')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nonopt) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [11030] ) ] ) (C {<shift>}) ] spids: [11016 11027] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<Id.Lit_Colon ':'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$debug_cmd'))} ) (C {<func_append>} {<preserve_args>} {(DQ <' --debug'>)}) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$host')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <pw32> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <solaris2> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <os2> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_duplicate_compiler_generated_deps) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [11122] ) ] ) ] spids: [11082 11115 11126 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_duplicate_compiler_generated_deps) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$opt_preserve_dup_deps')} spids: [11133] ) ] ) ] spids: [11129 11130 11137 -1] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_help')}) (BraceGroup children: [ (C {<func_check_version_match>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} ) (C {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} ) (C {<func_fatal_configuration>} {(DQ <'not configured to build any kind of library'>)} ) ] ) (C {<eval>} {<Id.Lit_VarLike 'std_shrext='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$shrext_cmds') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$opt_dlopen'))}) (C {<test>} {<execute>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_mode'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_error>} {(DQ <'unrecognized option \'-dlopen\''>)}) (command.Simple words: [ {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$help'))} ] redirects: [ (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')} ) ] spids: [11214 11238] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:generic_help) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$help')} spids: [11271] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:help) op: assign_op.Equal rhs: { (DQ <'Try \''> ($ Id.VSub_DollarName '$progname') <' --help --mode='> ($ Id.VSub_DollarName '$opt_mode') <'\' for more information.'> ) } spids: [11275] ) ] ) ] ) ] ) (C {<func_quote_for_eval>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libtool_validate_options_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_quote_for_eval_result')} spids: [11304] ) ] ) ] ) ) (C {<func_add_hook>} {<func_validate_options>} {<libtool_validate_options>}) (C {<func_options>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{(DQ ($ Id.VSub_At '$@'))}) ) } ) (command.CommandList children: [ (command.Sentence child: (C {<eval>} {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName '$func_options_result'))}) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:magic) op: assign_op.Equal rhs: {(SQ <'%%%MAGIC variable%%%'>)} spids: [11359] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:magic_exe) op: assign_op.Equal rhs: {(SQ <'%%%MAGIC EXE variable%%%'>)} spids: [11364] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extracted_archives) op: assign_op.Equal rhs: (word.Empty) spids: [11373] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extracted_serial) op: assign_op.Equal rhs: {<0>} spids: [11375] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exec_cmd) op: assign_op.Equal rhs: (word.Empty) spids: [11388] ) ] ) (command.ShFunction name: func_fallback_echo body: (BraceGroup children: [(C {<eval>} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)})] ) ) (command.ShFunction name: func_generated_by_libtool_p body: (BraceGroup children: [ (command.Simple words: [ {($ Id.VSub_DollarName '$GREP')} {(DQ <'^# Generated by .*'> ($ Id.VSub_DollarName '$PACKAGE'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] ) ) (command.ShFunction name: func_lalib_p body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {(DQ ($ Id.VSub_Number '$1'))}) (command.Pipeline children: [ (command.Simple words: [{($ Id.VSub_DollarName '$SED')} {<-e>} {<4q>} {(DQ ($ Id.VSub_Number '$1'))}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<func_generated_by_libtool_p>}) ] negated: F ) ] ) ] ) ) (command.ShFunction name: func_lalib_unsafe_p body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lalib_p) op: assign_op.Equal rhs: {<no>} spids: [11528] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<-f>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<test>} {<-r>} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [{<exec>}] redirects: [ (redir op: <Id.Redir_LessAnd '5<&'> loc: (redir_loc.Fd fd:5) arg: {<0>} ) (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_name: lalib_p_l iter_words: [{<1>} {<2>} {<3>} {<4>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<read>} {<lalib_p_line>}) (command.Case to_match: {($ Id.VSub_DollarName '$lalib_p_line')} arms: [ (case_arm pat_list: [ {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\#'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) <Generated> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <by> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) <Id.Lit_Star '*'> ($ Id.VSub_DollarName '$PACKAGE') <Id.Lit_Star '*'> } ] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lalib_p) op: assign_op.Equal rhs: {<yes>} spids: [11610] ) ] ) terminator: <Id.Op_Semi _> ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [11598 11608 11615 -1] ) ] ) ] ) ) (command.Simple words: [{<exec>}] redirects: [ (redir op: <Id.Redir_LessAnd '0<&'> loc: (redir_loc.Fd fd:0) arg: {<5>} ) (redir op: <Id.Redir_LessAnd '5<&'> loc: (redir_loc.Fd fd:5) arg: {<->} ) ] do_fork: T ) ] spids: [11532 11565] ) ] ) (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$lalib_p'))}) ] ) ) (command.ShFunction name: func_ltwrapper_script_p body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {(DQ ($ Id.VSub_Number '$1'))}) (command.Pipeline children: [ (command.Simple words: [{($ Id.VSub_DollarName '$lt_truncate_bin')}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_Number '$1'))} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<func_generated_by_libtool_p>}) ] negated: F ) ] ) ] ) ) (command.ShFunction name: func_ltwrapper_executable_p body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_ltwrapper_exec_suffix) op: assign_op.Equal rhs: (word.Empty) spids: [11718] ) ] ) (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.exe>}] spids: [11728 11730 11732 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_ltwrapper_exec_suffix) op: assign_op.Equal rhs: {<.exe>} spids: [11738] ) ] ) ] spids: [11735 11736 11741 -1] ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$GREP')} {(DQ ($ Id.VSub_DollarName '$magic_exe'))} {(DQ ($ Id.VSub_Number '$1') ($ Id.VSub_DollarName '$func_ltwrapper_exec_suffix'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] ) ) (command.ShFunction name: func_ltwrapper_scriptname body: (BraceGroup children: [ (C {<func_dirname_and_basename>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ )} {(DQ <.>)}) (C {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName '$func_basename_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_ltwrapper_scriptname_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result') <'/'> ($ Id.VSub_DollarName '$objdir') <'/'> (${ Id.VSub_Name func_stripname_result) <_ltshwrapper> } spids: [11815] ) ] ) ] ) ) (command.ShFunction name: func_ltwrapper_p body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<func_ltwrapper_script_p>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<func_ltwrapper_executable_p>} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (command.ShFunction name: func_execute_cmds body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_ifs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [11890] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(SQ <'~'>)} spids: [11894] ) ] ) (command.ForEach iter_name: cmd iter_words: [{($ Id.VSub_Number '$1')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$sp') ($ Id.VSub_DollarName '$nl')} spids: [11912] ) ] ) (C {<eval>} {<Id.Lit_VarLike 'cmd='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$cmd') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_ifs')} spids: [11925] ) ] ) (C {<func_show_eval>} {(DQ ($ Id.VSub_DollarName '$cmd'))} { (DQ (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<':'>}) ) ) } ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_ifs')} spids: [11947] ) ] ) ] ) ) (command.ShFunction name: func_source body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Star '*'> } ] action: [(C {<.>} {(DQ ($ Id.VSub_Number '$1'))})] spids: [11991 12000 12008 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<.>} {(DQ <'./'> ($ Id.VSub_Number '$1'))})] spids: [12011 12012 12021 -1] ) ] ) ] ) ) (command.ShFunction name: func_resolve_sysroot body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_resolve_sysroot_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [12047] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$func_resolve_sysroot_result')} arms: [ (case_arm pat_list: [{<Id.Lit_Equals '='> <Id.Lit_Star '*'>}] action: [ (C {<func_stripname>} {(SQ <'='>)} {(SQ )} {(DQ ($ Id.VSub_DollarName '$func_resolve_sysroot_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_resolve_sysroot_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$lt_sysroot') ($ Id.VSub_DollarName '$func_stripname_result') } spids: [12077] ) ] ) ] spids: [12058 12060 12082 -1] ) ] ) ] ) ) (command.ShFunction name: func_replace_sysroot body: (BraceGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$lt_sysroot') <Id.Lit_Colon ':'> ($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName '$lt_sysroot')) <Id.Lit_Star '*'> } ] action: [ (C {<func_stripname>} {(DQ ($ Id.VSub_DollarName '$lt_sysroot'))} {(SQ )} {(DQ ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_replace_sysroot_result) op: assign_op.Equal rhs: {(SQ <'='>) ($ Id.VSub_DollarName '$func_stripname_result')} spids: [12140] ) ] ) ] spids: [12116 12123 12147 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_replace_sysroot_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [12158] ) ] ) ] spids: [12150 12151 12162 -1] ) ] ) ] ) ) (command.ShFunction name: func_infer_tag body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$available_tags'))}) (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$tagname'))}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC_quoted) op: assign_op.Equal rhs: (word.Empty) spids: [12224] ) ] ) (command.ForEach iter_name: arg iter_words: [{($ Id.VSub_DollarName '$CC')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<func_append_quoted>} {<CC_quoted>} {(DQ ($ Id.VSub_DollarName '$arg'))}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC_expanded) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<func_echo_all>} {($ Id.VSub_DollarName '$CC')}) ) } spids: [12251] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC_quoted_expanded) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<func_echo_all>} {($ Id.VSub_DollarName '$CC_quoted')}) ) } spids: [12261] ) ] ) (command.Case to_match: {($ Id.VSub_At '$@')} arms: [ (case_arm pat_list: [ {(DQ <' '> ($ Id.VSub_DollarName '$CC') <' '>) <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$CC') <' '>) <Id.Lit_Star '*'>} {(DQ <' '> ($ Id.VSub_DollarName '$CC_expanded') <' '>) <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$CC_expanded') <' '>) <Id.Lit_Star '*'>} {(DQ <' '> ($ Id.VSub_DollarName '$CC_quoted')) <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$CC_quoted') <' '>) <Id.Lit_Star '*'>} {(DQ <' '> ($ Id.VSub_DollarName '$CC_quoted_expanded') <' '>) <Id.Lit_Star '*'> } {(DQ ($ Id.VSub_DollarName '$CC_quoted_expanded') <' '>) <Id.Lit_Star '*'> } ] spids: [12286 12352 12354 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ForEach iter_name: z iter_words: [{($ Id.VSub_DollarName '$available_tags')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [ {($ Id.VSub_DollarName '$GREP')} { (DQ <'^# ### BEGIN LIBTOOL TAG CONFIG: '> ($ Id.VSub_DollarName '$z') <Id.Lit_Dollar '$'> ) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$progpath'))} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} {<-n>} {<-e>} { (SQ <'/^# ### BEGIN LIBTOOL TAG CONFIG: '> ) ($ Id.VSub_DollarName '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ Id.VSub_DollarName '$z') (SQ <'$/p'>) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$progpath')} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC_quoted) op: assign_op.Equal rhs: (word.Empty) spids: [12440] ) ] ) (command.ForEach iter_name: arg iter_words: [{($ Id.VSub_DollarName '$CC')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<func_append_quoted>} {<CC_quoted>} {(DQ ($ Id.VSub_DollarName '$arg'))} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC_expanded) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<func_echo_all>} {($ Id.VSub_DollarName '$CC')} ) ) } spids: [12471] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC_quoted_expanded) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<func_echo_all>} {($ Id.VSub_DollarName '$CC_quoted')} ) ) } spids: [12481] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_At '$@') <' '>)} arms: [ (case_arm pat_list: [ {(DQ <' '> ($ Id.VSub_DollarName '$CC') <' '>) <Id.Lit_Star '*'> } {(DQ ($ Id.VSub_DollarName '$CC') <' '>) <Id.Lit_Star '*'> } { (DQ <' '> ($ Id.VSub_DollarName '$CC_expanded') <' '> ) <Id.Lit_Star '*'> } {(DQ ($ Id.VSub_DollarName '$CC_expanded') <' '>) <Id.Lit_Star '*'> } {(DQ <' '> ($ Id.VSub_DollarName '$CC_quoted')) <Id.Lit_Star '*'> } {(DQ ($ Id.VSub_DollarName '$CC_quoted') <' '>) <Id.Lit_Star '*'> } { (DQ <' '> ($ Id.VSub_DollarName '$CC_quoted_expanded') <' '> ) <Id.Lit_Star '*'> } { (DQ ($ Id.VSub_DollarName '$CC_quoted_expanded') <' '> ) <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tagname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$z')} spids: [12582] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [12501 12567 12589 -1] ) ] ) ] spids: [12381 12402] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$tagname'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_echo>} {(DQ <'unable to infer tagged configuration'>)}) (C {<func_fatal_error>} {(DQ <'specify a tag with \'--tag\''>)}) ] spids: [12613 12624] ) ] ) ] spids: [12365 12366 12650 -1] ) ] ) ] spids: [12200 12221] ) ] ) ] ) ) (command.ShFunction name: func_write_libtool_object body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_libobj) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [12680] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_lobj) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) ($ Id.VSub_Number '$2') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) } spids: [12700] ) ] ) ] spids: [12684 12697] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_lobj) op: assign_op.Equal rhs: {<none>} spids: [12709] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_oldobj) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) ($ Id.VSub_Number '$3') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) } spids: [12733] ) ] ) ] spids: [12717 12730] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_oldobj) op: assign_op.Equal rhs: {<none>} spids: [12742] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name write_libobj) <T>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 12793 stdin_parts: [ <'# '> ($ Id.VSub_DollarName '$write_libobj') <' - a libtool object file\n'> <'# Generated by '> ($ Id.VSub_DollarName '$PROGRAM') <' (GNU '> ($ Id.VSub_DollarName '$PACKAGE') <') '> ($ Id.VSub_DollarName '$VERSION') <'\n'> <'#\n'> <'# Please DO NOT delete this file!\n'> <'# It is necessary for linking the library.\n'> <'\n'> <'# Name of the PIC object.\n'> <'pic_object='> ($ Id.VSub_DollarName '$write_lobj') <'\n'> <'\n'> <'# Name of the non-PIC object\n'> <'non_pic_object='> ($ Id.VSub_DollarName '$write_oldobj') <'\n'> <'\n'> ] ) ) ] do_fork: T ) (C {($ Id.VSub_DollarName '$MV')} {(DQ (${ Id.VSub_Name write_libobj) <T>)} {(DQ ($ Id.VSub_DollarName '$write_libobj'))} ) ] ) ] ) ] ) ) (command.ShFunction name: func_convert_core_file_wine_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_convert_core_file_wine_to_w32_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [12864] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_convert_core_file_wine_to_w32_tmp) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<winepath>} {<-w>} {(DQ ($ Id.VSub_Number '$1'))}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [12902] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {(DQ ($ Id.VSub_QMark '$?'))} {<-eq>} {<0>}) (C {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_tmp' ) ) } ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: func_convert_core_file_wine_to_w32_result ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_tmp' ) ) } ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} { (DQ ($ Id.VSub_DollarName '$sed_naive_backslashify') ) } ) ] negated: F ) ) } spids: [12945] ) ] ) ] spids: [12919 12942] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_convert_core_file_wine_to_w32_result) op: assign_op.Equal rhs: (word.Empty) spids: [12972] ) ] ) ] ) ] spids: [12868 12879] ) ] ) ] ) ) (command.ShFunction name: func_convert_core_path_wine_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_convert_core_path_wine_to_w32_result) op: assign_op.Equal rhs: (word.Empty) spids: [13033] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldIFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [13050] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [13054] ) ] ) (command.ForEach iter_name: func_convert_core_path_wine_to_w32_f iter_words: [{($ Id.VSub_Number '$1')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$oldIFS')} spids: [13070] ) ] ) (C {<func_convert_core_file_wine_to_w32>} {(DQ ($ Id.VSub_DollarName '$func_convert_core_path_wine_to_w32_f'))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_result' ) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName '$func_convert_core_path_wine_to_w32_result' ) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: func_convert_core_path_wine_to_w32_result ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_result' ) } spids: [13109] ) ] ) ] spids: [13095 13106] ) ] else_action: [ (C {<func_append>} {<func_convert_core_path_wine_to_w32_result>} {(DQ <';'> ($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_result'))} ) ] ) ] spids: [13081 13092] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$oldIFS')} spids: [13135] ) ] ) ] spids: [13036 13047] ) ] ) ] ) ) (command.ShFunction name: func_cygpath body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$LT_CYGPATH'))}) (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$LT_CYGPATH'))}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_cygpath_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName '$LT_CYGPATH')} {(DQ ($ Id.VSub_At '$@'))} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [13229] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ ($ Id.VSub_QMark '$?'))} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_cygpath_result) op: assign_op.Equal rhs: (word.Empty) spids: [13264] ) ] ) ] spids: [13244 13257] ) ] ) ] spids: [13205 13226] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_cygpath_result) op: assign_op.Equal rhs: (word.Empty) spids: [13273] ) ] ) (C {<func_error>} { (DQ <'LT_CYGPATH is empty or specifies non-existent file: \''> ($ Id.VSub_DollarName '$LT_CYGPATH') <'\''> ) } ) ] ) ] ) ) (command.ShFunction name: func_convert_core_msys_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_convert_core_msys_to_w32_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell child: (C {<cmd>} {<'//c'>} {<echo>} {(DQ ($ Id.VSub_Number '$1'))}) redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} {(SQ <'s/[ ]*$//'>)} {<-e>} {(DQ ($ Id.VSub_DollarName '$sed_naive_backslashify'))} ) ] negated: F ) ) } spids: [13319] ) ] ) ] ) ) (command.ShFunction name: func_convert_file_check body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_Number '$2'))}) (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_error>} {(DQ <'Could not determine host file name corresponding to'>)}) (C {<func_error>} {(DQ <' \''> ($ Id.VSub_Number '$1') <'\''>)}) (C {<func_error>} {(DQ <'Continuing, but uninstalled executables may not work.'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [13441] ) ] ) ] spids: [13390 13411] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_check body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_Number '$4'))}) (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$3'))}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_error>} {(DQ <'Could not determine the host path corresponding to'>)}) (C {<func_error>} {(DQ <' \''> ($ Id.VSub_Number '$3') <'\''>)}) (C {<func_error>} {(DQ <'Continuing, but uninstalled executables may not work.'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ <x> ($ Id.VSub_Number '$1'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_Number '$2'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lt_replace_pathsep_chars) op: assign_op.Equal rhs: { (DQ <'s|'> ($ Id.VSub_Number '$1') <'|'> ($ Id.VSub_Number '$2') <'|g'> ) } spids: [13554] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_Number '$3'))}) (C {($ Id.VSub_DollarName '$SED')} {<-e>} { (DQ ($ Id.VSub_DollarName '$lt_replace_pathsep_chars') ) } ) ] negated: F ) ) } spids: [13564] ) ] ) ] spids: [13533 13551] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [13591] ) ] ) ] ) ] spids: [13478 13499] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_front_back_pathsep body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {($ Id.VSub_Number '$4')} arms: [ (case_arm pat_list: [{($ Id.VSub_Number '$1')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3') ($ Id.VSub_DollarName '$func_to_host_path_result') } spids: [13639] ) ] ) ] spids: [13635 13637 13644 -1] ) ] ) (command.Case to_match: {($ Id.VSub_Number '$4')} arms: [ (case_arm pat_list: [{($ Id.VSub_Number '$2')}] action: [ (C {<func_append>} {<func_to_host_path_result>} {(DQ ($ Id.VSub_Number '$3'))}) ] spids: [13657 13659 13670 -1] ) ] ) ] ) ) (command.ShFunction name: func_to_host_file body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {($ Id.VSub_DollarName '$to_host_file_cmd')} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) (command.ShFunction name: func_to_tool_file body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.Case to_match: {<Id.Lit_Comma ','> ($ Id.VSub_Number '$2') <Id.Lit_Comma ','>} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Comma ','> (DQ ($ Id.VSub_DollarName '$to_tool_file_cmd')) <Id.Lit_Comma ','> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_tool_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [13782] ) ] ) ] spids: [13772 13779 13786 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {($ Id.VSub_DollarName '$to_tool_file_cmd')} {(DQ ($ Id.VSub_Number '$1'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_tool_file_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_to_host_file_result')} spids: [13800] ) ] ) ] spids: [13789 13790 13804 -1] ) ] ) ] ) ) (command.ShFunction name: func_convert_file_noop body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [13830] ) ] ) ] ) ) (command.ShFunction name: func_convert_file_msys_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [13864] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_Number '$1'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_convert_core_msys_to_w32_result')} spids: [13889] ) ] ) ] spids: [13868 13879] ) ] ) (C {<func_convert_file_check>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_file_result'))} ) ] ) ) (command.ShFunction name: func_convert_file_cygwin_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [13934] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cygpath>} {<-m>} {(DQ ($ Id.VSub_Number '$1'))}) ) } spids: [13960] ) ] ) ] spids: [13938 13949] ) ] ) (C {<func_convert_file_check>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_file_result'))} ) ] ) ) (command.ShFunction name: func_convert_file_nix_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14015] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_convert_core_file_wine_to_w32>} {(DQ ($ Id.VSub_Number '$1'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_result')} spids: [14040] ) ] ) ] spids: [14019 14030] ) ] ) (C {<func_convert_file_check>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_file_result'))} ) ] ) ) (command.ShFunction name: func_convert_file_msys_to_cygwin body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14085] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<func_cygpath>} {<-u>} {(DQ ($ Id.VSub_DollarName '$func_convert_core_msys_to_w32_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_cygpath_result')} spids: [14119] ) ] ) ] spids: [14089 14100] ) ] ) (C {<func_convert_file_check>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_file_result'))} ) ] ) ) (command.ShFunction name: func_convert_file_nix_to_cygwin body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14167] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_convert_core_file_wine_to_w32>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<func_cygpath>} {<-u>} {(DQ ($ Id.VSub_DollarName '$func_convert_core_file_wine_to_w32_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_file_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_cygpath_result')} spids: [14205] ) ] ) ] spids: [14171 14182] ) ] ) (C {<func_convert_file_check>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_file_result'))} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:to_host_path_cmd) op: assign_op.Equal rhs: (word.Empty) spids: [14297] ) ] ) (command.ShFunction name: func_init_to_host_path_cmd body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$to_host_path_cmd'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {(SQ <func_convert_file_>)} {(SQ )} {(DQ ($ Id.VSub_DollarName '$to_host_file_cmd'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:to_host_path_cmd) op: assign_op.Equal rhs: {<func_convert_path_> ($ Id.VSub_DollarName '$func_stripname_result')} spids: [14339] ) ] ) ] spids: [14311 14322] ) ] ) ] ) ) (command.ShFunction name: func_to_host_path body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (C {<func_init_to_host_path_cmd>}) (C {($ Id.VSub_DollarName '$to_host_path_cmd')} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) (command.ShFunction name: func_convert_path_noop body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14401] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_msys_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14435] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_tmp1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [14476] ) ] ) (C {<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_convert_core_msys_to_w32_result')} spids: [14487] ) ] ) (C {<func_convert_path_check>} {<Id.Lit_Colon ':'>} {(DQ <';'>)} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_result'))} ) (C {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {(DQ <';'>)} {(DQ ($ Id.VSub_Number '$1'))} ) ] spids: [14439 14450] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_cygwin_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14559] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_tmp1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [14592] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cygpath>} {<-m>} {<-p>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} ) ) } spids: [14596] ) ] ) (C {<func_convert_path_check>} {<Id.Lit_Colon ':'>} {(DQ <';'>)} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_result'))} ) (C {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {(DQ <';'>)} {(DQ ($ Id.VSub_Number '$1'))} ) ] spids: [14563 14574] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_nix_to_w32 body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14680] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_tmp1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [14713] ) ] ) (C {<func_convert_core_path_wine_to_w32>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_convert_core_path_wine_to_w32_result')} spids: [14724] ) ] ) (C {<func_convert_path_check>} {<Id.Lit_Colon ':'>} {(DQ <';'>)} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_result'))} ) (C {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {(DQ <';'>)} {(DQ ($ Id.VSub_Number '$1'))} ) ] spids: [14684 14695] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_msys_to_cygwin body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14796] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_tmp1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [14829] ) ] ) (C {<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} ) (C {<func_cygpath>} {<-u>} {<-p>} {(DQ ($ Id.VSub_DollarName '$func_convert_core_msys_to_w32_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_cygpath_result')} spids: [14851] ) ] ) (C {<func_convert_path_check>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_result'))} ) (C {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) ] spids: [14800 14811] ) ] ) ] ) ) (command.ShFunction name: func_convert_path_nix_to_cygwin body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [14922] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_tmp1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [14963] ) ] ) (C {<func_convert_core_path_wine_to_w32>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} ) (C {<func_cygpath>} {<-u>} {<-p>} {(DQ ($ Id.VSub_DollarName '$func_convert_core_path_wine_to_w32_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_to_host_path_result) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_cygpath_result')} spids: [14985] ) ] ) (C {<func_convert_path_check>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_tmp1'))} {(DQ ($ Id.VSub_DollarName '$func_to_host_path_result'))} ) (C {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number '$1'))} ) ] spids: [14926 14937] ) ] ) ] ) ) (command.ShFunction name: func_dll_def_p body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:func_dll_def_p_tmp) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {($ Id.VSub_DollarName '$SED')} {<-n>} {<-e>} {(SQ <'s/^[\t ]*//'>)} {<-e>} {(SQ <'/^\\(;.*\\)*$/d'>)} {<-e>} {(SQ <'s/^\\(EXPORTS\\|LIBRARY\\)\\([\t ].*\\)*$/DEF/p'>)} {<-e>} {<q>} {(DQ ($ Id.VSub_Number '$1'))} ) ) } spids: [15053] ) ] ) (C {<test>} {<DEF>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$func_dll_def_p_tmp'))}) ] ) ) (command.ShFunction name: func_mode_compile body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base_compile) op: assign_op.Equal rhs: (word.Empty) spids: [15161] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$nonopt')} spids: [15164] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:suppress_opt) op: assign_op.Equal rhs: {<yes>} spids: [15171] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:suppress_output) op: assign_op.Equal rhs: (word.Empty) spids: [15175] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg_mode) op: assign_op.Equal rhs: {<normal>} spids: [15178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libobj) op: assign_op.Equal rhs: (word.Empty) spids: [15182] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:later) op: assign_op.Equal rhs: (word.Empty) spids: [15185] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pie_flag) op: assign_op.Equal rhs: (word.Empty) spids: [15188] ) ] ) (command.ForEach iter_name: arg do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$arg_mode')} arms: [ (case_arm pat_list: [{<arg>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lastarg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [15216] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg_mode) op: assign_op.Equal rhs: {<normal>} spids: [15220] ) ] ) ] spids: [15207 15209 15224 -1] ) (case_arm pat_list: [{<target>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [15233] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg_mode) op: assign_op.Equal rhs: {<normal>} spids: [15237] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15228 15230 15244 -1] ) (case_arm pat_list: [{<normal>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$arg')} arms: [ (case_arm pat_list: [{<-o>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$libobj'))}) (C {<func_fatal_error>} {(DQ <'you cannot specify \'-o\' more than once'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg_mode) op: assign_op.Equal rhs: {<target>} spids: [15287] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15264 15265 15294 -1] ) (case_arm pat_list: [{<-pie>} {<-fpie>} {<-fPIE>}] action: [ (C {<func_append>} {<pie_flag>} {(DQ <' '> ($ Id.VSub_DollarName '$arg'))} ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15298 15307 15323 -1] ) (case_arm pat_list: [{<-shared>} {<-static>} {<-prefer-pic>} {<-prefer-non-pic>}] action: [ (C {<func_append>} {<later>} {(DQ <' '> ($ Id.VSub_DollarName '$arg'))} ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15327 15340 15356 -1] ) (case_arm pat_list: [{<-no-suppress>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:suppress_opt) op: assign_op.Equal rhs: {<no>} spids: [15364] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15360 15361 15371 -1] ) (case_arm pat_list: [{<-Xcompiler>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg_mode) op: assign_op.Equal rhs: {<arg>} spids: [15379] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15375 15376 15392 -1] ) (case_arm pat_list: [{<-Wc> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}] action: [ (C {<func_stripname>} {(SQ <'-Wc,'>)} {(SQ )} {(DQ ($ Id.VSub_DollarName '$arg'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:args) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [15419] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lastarg) op: assign_op.Equal rhs: (word.Empty) spids: [15423] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_ifs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IFS')} spids: [15426] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Comma ','>} spids: [15430] ) ] ) (command.ForEach iter_name: arg iter_words: [{($ Id.VSub_DollarName '$args')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_ifs')} spids: [15446] ) ] ) (C {<func_append_quoted>} {<lastarg>} {(DQ ($ Id.VSub_DollarName '$arg'))} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_ifs')} spids: [15462] ) ] ) (C {<func_stripname>} {(SQ <' '>)} {(SQ )} {(DQ ($ Id.VSub_DollarName '$lastarg'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lastarg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [15480] ) ] ) (C {<func_append>} {<base_compile>} {(DQ <' '> ($ Id.VSub_DollarName '$lastarg'))} ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15399 15402 15502 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lastarg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$srcfile')} spids: [15522] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [15526] ) ] ) ] spids: [15506 15507 15530 -1] ) ] ) ] spids: [15248 15250 15539 -1] ) ] ) (C {<func_append_quoted>} {<base_compile>} {(DQ ($ Id.VSub_DollarName '$lastarg'))}) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$arg_mode')} arms: [ (case_arm pat_list: [{<arg>}] action: [ (C {<func_fatal_error>} {(DQ <'you must specify an argument for -Xcompile'>)}) ] spids: [15576 15577 15587 -1] ) (case_arm pat_list: [{<target>}] action: [(C {<func_fatal_error>} {(DQ <'you must specify a target with \'-o\''>)})] spids: [15590 15591 15601 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$libobj'))}) (BraceGroup children: [ (C {<func_basename>} {(DQ ($ Id.VSub_DollarName '$srcfile'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_basename_result')} spids: [15632] ) ] ) ] ) ] ) ] spids: [15604 15605 15639 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$libobj')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <.> <Id.Lit_LBracket '['> <cCFSifmso> <Id.Lit_RBracket ']'>} {<Id.Lit_Star '*'> <.ada>} {<Id.Lit_Star '*'> <.adb>} {<Id.Lit_Star '*'> <.ads>} {<Id.Lit_Star '*'> <.asm>} {<Id.Lit_Star '*'> <.c> <Id.Lit_Other '+'> <Id.Lit_Other '+'>} {<Id.Lit_Star '*'> <.cc>} {<Id.Lit_Star '*'> <.ii>} {<Id.Lit_Star '*'> <.class>} {<Id.Lit_Star '*'> <.cpp>} {<Id.Lit_Star '*'> <.cxx>} {<Id.Lit_Star '*'> <.> <Id.Lit_LBracket '['> <fF> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <09> <Id.Lit_RBracket ']'> <Id.Lit_QMark '?'> } {<Id.Lit_Star '*'> <.for>} {<Id.Lit_Star '*'> <.java>} {<Id.Lit_Star '*'> <.go>} {<Id.Lit_Star '*'> <.obj>} {<Id.Lit_Star '*'> <.sx>} {<Id.Lit_Star '*'> <.cu>} {<Id.Lit_Star '*'> <.cup>} ] action: [ (C {<func_xform>} {(DQ ($ Id.VSub_DollarName '$libobj'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_xform_result')} spids: [15781] ) ] ) ] spids: [15661 15771 15785 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$libobj')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.lo>}] action: [ (command.Sentence child: (C {<func_lo2o>} {(DQ ($ Id.VSub_DollarName '$libobj'))}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:obj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_lo2o_result')} spids: [15810] ) ] ) ] spids: [15799 15801 15813 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_fatal_error>} { (DQ <'cannot determine name of library object from \''> ($ Id.VSub_DollarName '$libobj') <'\''> ) } ) ] spids: [15816 15817 15829 -1] ) ] ) (C {<func_infer_tag>} {($ Id.VSub_DollarName '$base_compile')}) (command.ForEach iter_name: arg iter_words: [{($ Id.VSub_DollarName '$later')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$arg')} arms: [ (case_arm pat_list: [{<-shared>}] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} ) (C {<func_fatal_configuration>} {(DQ <'cannot build a shared library'>)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:build_old_libs) op: assign_op.Equal rhs: {<no>} spids: [15886] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15861 15862 15893 -1] ) (case_arm pat_list: [{<-static>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:build_libtool_libs) op: assign_op.Equal rhs: {<no>} spids: [15901] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:build_old_libs) op: assign_op.Equal rhs: {<yes>} spids: [15905] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15897 15898 15912 -1] ) (case_arm pat_list: [{<-prefer-pic>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pic_mode) op: assign_op.Equal rhs: {<yes>} spids: [15920] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15916 15917 15927 -1] ) (case_arm pat_list: [{<-prefer-non-pic>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pic_mode) op: assign_op.Equal rhs: {<no>} spids: [15935] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [15931 15932 15942 -1] ) ] ) ] ) ) (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$libobj'))}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$libobj'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$func_quote_for_eval_result'))} ) (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ <X> ($ Id.VSub_DollarName '$libobj'))}) (C {($ Id.VSub_DollarName '$GREP')} {(SQ <'[]~#^*{};<>?"'>) (DQ <'\''>) (SQ <'\t &()|`$[]'>)} ) ] negated: F ) (C {<func_warning>} { (DQ <'libobj name \''> ($ Id.VSub_DollarName '$libobj') <'\' may not contain shell special characters.'> ) } ) ] ) (C {<func_dirname_and_basename>} {(DQ ($ Id.VSub_DollarName '$obj'))} {(DQ <'/'>)} {(DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_basename_result')} spids: [16026] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:xdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [16030] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$xdir') ($ Id.VSub_DollarName '$objdir') <'/'> ($ Id.VSub_DollarName '$objname') } spids: [16034] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$base_compile'))}) (C {<func_fatal_help>} {(DQ <'you must specify a compilation command'>)}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:removelist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$obj') <' '> ($ Id.VSub_DollarName '$lobj') <' '> ($ Id.VSub_DollarName '$libobj') <' '> (${ Id.VSub_Name libobj) <T> ) } spids: [16082] ) ] ) ] spids: [16066 16079] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:removelist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$lobj') <' '> ($ Id.VSub_DollarName '$libobj') <' '> (${ Id.VSub_Name libobj) <T> ) } spids: [16100] ) ] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$host_os')} arms: [ (case_arm pat_list: [ {<cygwin> <Id.Lit_Star '*'>} {<mingw> <Id.Lit_Star '*'>} {<pw32> <Id.Lit_Star '*'>} {<os2> <Id.Lit_Star '*'>} {<cegcc> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pic_mode) op: assign_op.Equal rhs: {<default>} spids: [16153] ) ] ) ] spids: [16128 16150 16157 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$pic_mode'))} ) (C {<test>} {<pass_all>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$deplibs_check_method'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pic_mode) op: assign_op.Equal rhs: {<default>} spids: [16196] ) ] ) ] spids: [16163 16189] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$compiler_c_o'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output_obj) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$srcfile'))} ) (C {($ Id.VSub_DollarName '$SED')} {(SQ <'s%^.*/%%; s%\\.[^.]*$%%'>)} ) ] negated: F ) ) <.> ($ Id.VSub_DollarName '$objext') } spids: [16228] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lockfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$output_obj') <.lock>} spids: [16252] ) ] ) ] spids: [16212 16225] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output_obj) op: assign_op.Equal rhs: (word.Empty) spids: [16260] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:need_locks) op: assign_op.Equal rhs: {<no>} spids: [16263] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lockfile) op: assign_op.Equal rhs: (word.Empty) spids: [16267] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.WhileUntil keyword: <Id.KW_Until until> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (command.Simple words: [ {<ln>} {(DQ ($ Id.VSub_DollarName '$progpath'))} {(DQ ($ Id.VSub_DollarName '$lockfile'))} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<func_echo>} { (DQ <'Waiting for '> ($ Id.VSub_DollarName '$lockfile') <' to be removed'> ) } ) (C {<sleep>} {<2>}) ] ) ) ] spids: [16282 16295] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<warn>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$lockfile'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'*** ERROR, '> ($ Id.VSub_DollarName '$lockfile') <' exists and contains:\n'> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$lockfile')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) <'\n'> <'\n'> <'This indicates that another process is trying to use the same\n'> < 'temporary object file, and libtool could not work around it because\n' > <'your compiler does not support \'-c\' and \'-o\' together. If you\n'> < 'repeat this compilation, it may succeed, by chance, but you had better\n' > <'avoid parallel builds (make -j) in this platform, or get a better\n'> <compiler.> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (C {($ Id.VSub_DollarName '$RM')} {($ Id.VSub_DollarName '$removelist')} ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')} ) ] spids: [16354 16365] ) ] ) (C {<func_append>} {<removelist>} {(DQ <' '> ($ Id.VSub_DollarName '$output_obj'))}) (command.Simple words: [{($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$srcfile'))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$lockfile'))} ) ] do_fork: T ) ] spids: [16338 16351] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (C {($ Id.VSub_DollarName '$RM')} {($ Id.VSub_DollarName '$removelist')}) ] ) (C {<func_append>} {<removelist>} {(DQ <' '> ($ Id.VSub_DollarName '$lockfile'))}) (C {<trap>} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} {<1>} {<2>} {<15>}) (C {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName '$srcfile'))} {<func_convert_file_msys_to_w32>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_to_tool_file_result')} spids: [16483] ) ] ) (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$srcfile'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:qsrcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_quote_for_eval_result')} spids: [16494] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fbsd_hideous_sh_bug) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$base_compile')} spids: [16523] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$pic_mode'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:command) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$base_compile') <' '> ($ Id.VSub_DollarName '$qsrcfile') <' '> ($ Id.VSub_DollarName '$pic_flag') ) } spids: [16545] ) ] ) ] spids: [16528 16542] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:command) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$base_compile') <' '> ($ Id.VSub_DollarName '$qsrcfile') ) } spids: [16562] ) ] ) ] ) (C {<func_mkdir_p>} {(DQ ($ Id.VSub_DollarName '$xdir') ($ Id.VSub_DollarName '$objdir'))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$output_obj'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<command>} {(DQ <' -o '> ($ Id.VSub_DollarName '$lobj'))}) ] spids: [16583 16594] ) ] ) (C {<func_show_eval_locale>} {(DQ ($ Id.VSub_DollarName '$command'))} {(SQ <'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'>)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<warn>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} ) (C {<test>} { (DQ <X> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<cat>} {($ Id.VSub_DollarName '$lockfile')} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'*** ERROR, '> ($ Id.VSub_DollarName '$lockfile') <' contains:\n'> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$lockfile')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) <'\n'> <'\n'> <'but it should contain:\n'> ($ Id.VSub_DollarName '$srcfile') <'\n'> <'\n'> < 'This indicates that another process is trying to use the same\n' > <'temporary object file, and libtool could not work around it because\n'> < 'your compiler does not support \'-c\' and \'-o\' together. If you\n' > <'repeat this compilation, it may succeed, by chance, but you had better\n'> < 'avoid parallel builds (make -j) in this platform, or get a better\n' > <compiler.> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (C {($ Id.VSub_DollarName '$RM')} {($ Id.VSub_DollarName '$removelist')} ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')} ) ] spids: [16629 16669] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$output_obj'))}) (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$output_obj'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$lobj'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_show_eval>} {(SQ <'$MV "$output_obj" "$lobj"'>)} {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)} ) ] spids: [16727 16755] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$suppress_opt'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:suppress_output) op: assign_op.Equal rhs: {(SQ <' >/dev/null 2>&1'>)} spids: [16795] ) ] ) ] spids: [16779 16792] ) ] ) ] spids: [16503 16516] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$pic_mode'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:command) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$base_compile') <' '> ($ Id.VSub_DollarName '$qsrcfile') ($ Id.VSub_DollarName '$pie_flag') ) } spids: [16849] ) ] ) ] spids: [16828 16842] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:command) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$base_compile') <' '> ($ Id.VSub_DollarName '$qsrcfile') <' '> ($ Id.VSub_DollarName '$pic_flag') ) } spids: [16861] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$compiler_c_o'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<command>} {(DQ <' -o '> ($ Id.VSub_DollarName '$obj'))}) ] spids: [16874 16887] ) ] ) (C {<func_append>} {<command>} {(DQ ($ Id.VSub_DollarName '$suppress_output'))}) (C {<func_show_eval_locale>} {(DQ ($ Id.VSub_DollarName '$command'))} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<warn>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} ) (C {<test>} { (DQ <X> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<cat>} {($ Id.VSub_DollarName '$lockfile')} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'*** ERROR, '> ($ Id.VSub_DollarName '$lockfile') <' contains:\n'> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$lockfile')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) <'\n'> <'\n'> <'but it should contain:\n'> ($ Id.VSub_DollarName '$srcfile') <'\n'> <'\n'> < 'This indicates that another process is trying to use the same\n' > <'temporary object file, and libtool could not work around it because\n'> < 'your compiler does not support \'-c\' and \'-o\' together. If you\n' > <'repeat this compilation, it may succeed, by chance, but you had better\n'> < 'avoid parallel builds (make -j) in this platform, or get a better\n' > <compiler.> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (C {($ Id.VSub_DollarName '$RM')} {($ Id.VSub_DollarName '$removelist')} ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')} ) ] spids: [16931 16971] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$output_obj'))}) (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$output_obj'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$obj'))} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_show_eval>} {(SQ <'$MV "$output_obj" "$obj"'>)} {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)} ) ] spids: [17029 17057] ) ] ) ] spids: [16812 16825] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (BraceGroup children: [ (C {<func_write_libtool_object>} {(DQ ($ Id.VSub_DollarName '$libobj'))} {(DQ ($ Id.VSub_DollarName '$objdir') <'/'> ($ Id.VSub_DollarName '$objname'))} {(DQ ($ Id.VSub_DollarName '$objname'))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:removelist) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$lockfile')} spids: [17126] ) ] ) (C {($ Id.VSub_DollarName '$RM')} {(DQ ($ Id.VSub_DollarName '$lockfile'))}) ] spids: [17109 17123] ) ] ) ] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_SUCCESS')} ) ] ) ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_help')}) (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<compile>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_mode'))}) (C {<func_mode_compile>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ) ] ) ] ) ] ) (command.ShFunction name: func_mode_help body: (BraceGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$opt_mode')} arms: [ (case_arm pat_list: [{(DQ )}] action: [(C {<func_help>})] spids: [17202 17204 17218 -1] ) (case_arm pat_list: [{<clean>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=clean RM [RM-OPTION]... FILE...\n'> <'\n'> <'Remove files from the build directory.\n'> <'\n'> < 'RM is the name of the program to use to delete files associated with each FILE\n' > <'(typically \'/bin/rm\'). RM-OPTIONS are options (such as \'-f\') to be passed\n'> <'to RM.\n'> <'\n'> <'If FILE is a libtool library, object or program, all the files associated\n'> <'with it are deleted. Otherwise, only FILE itself is deleted using RM.'> ) } ) ] spids: [17222 17223 17245 -1] ) (case_arm pat_list: [{<compile>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE\n'> <'\n'> <'Compile a source file into a libtool library object.\n'> <'\n'> <'This mode accepts the following additional options:\n'> <'\n'> <' -o OUTPUT-FILE set the output file name to OUTPUT-FILE\n'> < ' -no-suppress do not suppress compiler output for multiple passes\n' > <' -prefer-pic try to build PIC objects only\n'> <' -prefer-non-pic try to build non-PIC objects only\n'> <' -shared do not build a \'.o\' file suitable for static linking\n'> < ' -static only build a \'.o\' file suitable for static linking\n' > <' -Wc,FLAG pass FLAG directly to the compiler\n'> <'\n'> < 'COMPILE-COMMAND is a command to be used in creating a \'standard\' object file\n' > <'from the given SOURCEFILE.\n'> <'\n'> < 'The output file name is determined by removing the directory component from\n' > <'SOURCEFILE, then substituting the C source code suffix \'.c\' with the\n'> <'library object suffix, \'.lo\'.'> ) } ) ] spids: [17249 17250 17282 -1] ) (case_arm pat_list: [{<execute>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=execute COMMAND [ARGS]...\n'> <'\n'> <'Automatically set library path, then run a program.\n'> <'\n'> <'This mode accepts the following additional options:\n'> <'\n'> <' -dlopen FILE add the directory containing FILE to the library path\n'> <'\n'> < 'This mode sets the library path environment variable according to \'-dlopen\'\n' > <'flags.\n'> <'\n'> <'If any of the ARGS are libtool executable wrappers, then they are translated\n'> < 'into their corresponding uninstalled binary, and any of their required library\n' > <'directories are added to the library path.\n'> <'\n'> <'Then, COMMAND is executed, with ARGS as arguments.'> ) } ) ] spids: [17286 17287 17315 -1] ) (case_arm pat_list: [{<finish>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=finish [LIBDIR]...\n'> <'\n'> <'Complete the installation of libtool libraries.\n'> <'\n'> <'Each LIBDIR is a directory that contains libtool libraries.\n'> <'\n'> <'The commands that this mode executes may require superuser privileges. Use\n'> < 'the \'--dry-run\' option if you just want to see what would be executed.' > ) } ) ] spids: [17319 17320 17340 -1] ) (case_arm pat_list: [{<install>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=install INSTALL-COMMAND...\n'> <'\n'> <'Install executables or libraries.\n'> <'\n'> < 'INSTALL-COMMAND is the installation command. The first component should be\n' > <'either the \'install\' or \'cp\' program.\n'> <'\n'> <'The following components of INSTALL-COMMAND are treated specially:\n'> <'\n'> <' -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation\n'> <'\n'> < 'The rest of the components are interpreted as arguments to that command (only\n' > <'BSD-compatible install options are recognized).'> ) } ) ] spids: [17344 17345 17370 -1] ) (case_arm pat_list: [{<link>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=link LINK-COMMAND...\n'> <'\n'> <'Link object files or libraries together to form another library, or to\n'> <'create an executable program.\n'> <'\n'> <'LINK-COMMAND is a command using the C compiler that you would use to create\n'> <'a program from several object files.\n'> <'\n'> <'The following components of LINK-COMMAND are treated specially:\n'> <'\n'> <' -all-static do not do any dynamic linking at all\n'> <' -avoid-version do not add a version suffix if possible\n'> < ' -bindir BINDIR specify path to binaries directory (for systems where\n' > <' libraries must be found in the PATH setting at runtime)\n'> < ' -dlopen FILE \'-dlpreopen\' FILE if it cannot be dlopened at runtime\n' > <' -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols\n'> < ' -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)\n' > <' -export-symbols SYMFILE\n'> <' try to export only the symbols listed in SYMFILE\n'> <' -export-symbols-regex REGEX\n'> <' try to export only the symbols matching REGEX\n'> <' -LLIBDIR search LIBDIR for required installed libraries\n'> < ' -lNAME OUTPUT-FILE requires the installed library libNAME\n' > <' -module build a library that can dlopened\n'> <' -no-fast-install disable the fast-install mode\n'> <' -no-install link a not-installable executable\n'> < ' -no-undefined declare that a library does not refer to external symbols\n' > <' -o OUTPUT-FILE create OUTPUT-FILE from the specified objects\n'> < ' -objectlist FILE use a list of object files found in FILE to specify objects\n' > <' -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)\n'> <' -precious-files-regex REGEX\n'> <' don\'t remove output files matching REGEX\n'> <' -release RELEASE specify package release information\n'> <' -rpath LIBDIR the created library will eventually be installed in LIBDIR\n'> < ' -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries\n' > <' -shared only do dynamic linking of libtool libraries\n'> < ' -shrext SUFFIX override the standard shared library file extension\n' > <' -static do not do any dynamic linking of uninstalled libtool libraries\n'> <' -static-libtool-libs\n'> <' do not do any dynamic linking of libtool libraries\n'> <' -version-info CURRENT[:REVISION[:AGE]]\n'> <' specify library version info [each variable defaults to 0]\n'> < ' -weak LIBNAME declare that the target provides the LIBNAME interface\n' > <' -Wc,FLAG\n'> <' -Xcompiler FLAG pass linker-specific FLAG directly to the compiler\n'> <' -Wl,FLAG\n'> <' -Xlinker FLAG pass linker-specific FLAG directly to the linker\n'> < ' -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)\n' > <'\n'> <'All other options (arguments beginning with \'-\') are ignored.\n'> <'\n'> < 'Every other argument is treated as a filename. Files ending in \'.la\' are\n' > <'treated as uninstalled libtool libraries, other files are standard or library\n'> <'object files.\n'> <'\n'> <'If the OUTPUT-FILE ends in \'.la\', then a libtool library is created,\n'> < 'only library objects (\'.lo\' files) may be specified, and \'-rpath\' is\n' > <'required, except when creating a convenience library.\n'> <'\n'> < 'If OUTPUT-FILE ends in \'.a\' or \'.lib\', then a standard library is created\n' > <'using \'ar\' and \'ranlib\', or on Windows using \'lib\'.\n'> <'\n'> <'If OUTPUT-FILE ends in \'.lo\' or \'.'> ($ Id.VSub_DollarName '$objext') <'\', then a reloadable object file\n'> <'is created, otherwise an executable program is created.'> ) } ) ] spids: [17374 17375 17453 -1] ) (case_arm pat_list: [{<uninstall>}] action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$progname') <' [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...\n'> <'\n'> <'Remove libraries from an installation directory.\n'> <'\n'> < 'RM is the name of the program to use to delete files associated with each FILE\n' > <'(typically \'/bin/rm\'). RM-OPTIONS are options (such as \'-f\') to be passed\n'> <'to RM.\n'> <'\n'> <'If FILE is a libtool library, all the files associated with it are deleted.\n'> <'Otherwise, only FILE itself is deleted using RM.'> ) } ) ] spids: [17457 17458 17480 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_fatal_help>} {(DQ <'invalid operation mode \''> ($ Id.VSub_DollarName '$opt_mode') <'\''>)} ) ] spids: [17484 17485 17497 -1] ) ] ) (C {<echo>}) (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <'Try \''> ($ Id.VSub_DollarName '$progname') <' --help\' for more information about other modes.'> ) } ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$opt_help')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<Id.Lit_Colon ':'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_help'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<func_mode_help>})] spids: [17529 17542] ) ] else_action: [ (command.Pipeline children: [ (BraceGroup children: [ (C {<func_help>} {<noexit>}) (command.ForEach iter_name: opt_mode iter_words: [ {<compile>} {<link>} {<execute>} {<install>} {<finish>} {<uninstall>} {<clean>} ] do_arg_iter: F body: (command.DoGroup children:[(C {<func_mode_help>})]) ) ] ) (C {($ Id.VSub_DollarName '$SED')} {<-n>} {(SQ <'1p; 2,$s/^Usage:/ or: /p'>)}) ] negated: F ) (command.Pipeline children: [ (BraceGroup children: [ (C {<func_help>} {<noexit>}) (command.ForEach iter_name: opt_mode iter_words: [ {<compile>} {<link>} {<execute>} {<install>} {<finish>} {<uninstall>} {<clean>} ] do_arg_iter: F body: (command.DoGroup children:[(C {<echo>}) (C {<func_mode_help>})]) ) ] ) (C {($ Id.VSub_DollarName '$SED')} { (SQ <'1d\n'> <' /^When reporting/,/^Report/{\n'> <'\tH\n'> <'\td\n'> <' }\n'> <' $x\n'> <' /information about other modes/d\n'> <' /more detailed .*MODE/d\n'> <' s/^Usage:.*--mode=\\([^ ]*\\) .*/Description of \\1 mode:/'> ) } ) ] negated: F ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '$?')} ) ] spids: [17521 17526] ) ] ) (command.ShFunction name: func_mode_execute body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$nonopt')} spids: [17693] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$cmd'))}) (C {<func_fatal_help>} {(DQ <'you must specify a COMMAND'>)}) ] ) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$opt_dlopen')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$file'))}) (C {<func_fatal_help>} {(DQ <'\''> ($ Id.VSub_DollarName '$file') <'\' is not a file'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: (word.Empty) spids: [17755] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$file')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.la>}] action: [ (C {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName '$file'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_resolve_sysroot_result')} spids: [17777] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName '$file'))}) (C {<func_fatal_help>} { (DQ <'\''> ($ Id.VSub_DollarName '$lib') <'\' is not a valid libtool archive'> ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dlname) op: assign_op.Equal rhs: (word.Empty) spids: [17810] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:library_names) op: assign_op.Equal rhs: (word.Empty) spids: [17813] ) ] ) (C {<func_source>} {(DQ ($ Id.VSub_DollarName '$file'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$dlname'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$library_names'))}) (C {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName '$file') <'\' was not linked with \'-export-dynamic\''> ) } ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [17828 17839] ) ] ) (C {<func_dirname>} {(DQ ($ Id.VSub_DollarName '$file'))} {(DQ )} {(DQ <.>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [17888] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName '$dir') <'/'> ($ Id.VSub_DollarName '$objdir') <'/'> ($ Id.VSub_DollarName '$dlname') ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<dir>} {(DQ <'/'> ($ Id.VSub_DollarName '$objdir'))} ) ] spids: [17893 17908] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName '$dir') <'/'> ($ Id.VSub_DollarName '$dlname') ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_fatal_error>} { (DQ <'cannot find \''> ($ Id.VSub_DollarName '$dlname') <'\' in \''> ($ Id.VSub_DollarName '$dir') <'\' or \''> ($ Id.VSub_DollarName '$dir') <'/'> ($ Id.VSub_DollarName '$objdir') <'\''> ) } ) ] spids: [17924 17939] ) ] ) ] ) ] spids: [17765 17767 17963 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.lo>}] action: [ (C {<func_dirname>} {(DQ ($ Id.VSub_DollarName '$file'))} {(DQ )} {(DQ <.>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [17990] ) ] ) ] spids: [17967 17969 17994 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_warning>} {(DQ <'\'-dlopen\' is ignored for non-libtool libraries and objects'>)} ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [17998 17999 18012 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:absdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$dir'))}) (C {<pwd>}) ] ) ) } spids: [18023] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$absdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$absdir')} spids: [18049] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<eval>} { (DQ <'test -z '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ($ Id.VSub_DollarName '$shlibpath_var') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (DQ ($ Id.VSub_DollarName '$shlibpath_var') <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <dir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ) } ) ] spids: [18058 18071] ) ] else_action: [ (C {<eval>} { (DQ ($ Id.VSub_DollarName '$shlibpath_var') <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'dir:'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) ($ Id.VSub_DollarName '$shlibpath_var') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libtool_execute_magic) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$magic')} spids: [18118] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:args) op: assign_op.Equal rhs: (word.Empty) spids: [18127] ) ] ) (command.ForEach iter_name: file do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$file')} arms: [ (case_arm pat_list: [ {<-> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <.la>} {<Id.Lit_Star '*'> <.lo>} ] spids: [18145 18158 18160 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<func_ltwrapper_script_p>} {(DQ ($ Id.VSub_DollarName '$file'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_source>} {(DQ ($ Id.VSub_DollarName '$file'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$progdir') <'/'> ($ Id.VSub_DollarName '$program') } spids: [18194] ) ] ) ] spids: [18171 18180] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<func_ltwrapper_executable_p>} {(DQ ($ Id.VSub_DollarName '$file'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_ltwrapper_scriptname>} {(DQ ($ Id.VSub_DollarName '$file'))} ) (C {<func_source>} { (DQ ($ Id.VSub_DollarName '$func_ltwrapper_scriptname_result') ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$progdir') <'/'> ($ Id.VSub_DollarName '$program') } spids: [18230] ) ] ) ] spids: [18200 18209] ) ] ) ] spids: [18163 18164 18239 -1] ) ] ) (C {<func_append_quoted>} {<args>} {(DQ ($ Id.VSub_DollarName '$file'))}) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$opt_dry_run')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$shlibpath_var'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'shlibpath_var='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ($ Id.VSub_DollarName '$shlibpath_var') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ) (C {<echo>} {(DQ <'export '> ($ Id.VSub_DollarName '$shlibpath_var'))}) ] spids: [18274 18285] ) ] ) (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$cmd') ($ Id.VSub_DollarName '$args'))} ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_SUCCESS')} ) ] spids: [18262 18267] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$shlibpath_var'))}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<eval>} {(DQ <'export '> ($ Id.VSub_DollarName '$shlibpath_var'))})] spids: [18329 18340] ) ] ) (command.ForEach iter_name: lt_var iter_words: [{<LANG>} {<LANGUAGE>} {<LC_ALL>} {<LC_CTYPE>} {<LC_COLLATE>} {<LC_MESSAGES>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} { (DQ <'if test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{save_'> ($ Id.VSub_DollarName '$lt_var') <'+set}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' = set; then\n'> <' '> ($ Id.VSub_DollarName '$lt_var') <'='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <save_> ($ Id.VSub_DollarName '$lt_var') <'; export '> ($ Id.VSub_DollarName '$lt_var') <'\n'> <'\t else\n'> <'\t\t'> ($ Id.VSub_DollarName '$lt_unset') <' '> ($ Id.VSub_DollarName '$lt_var') <'\n'> <'\t fi'> ) } ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exec_cmd) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <cmd> ($ Id.VSub_DollarName '$args') } spids: [18423] ) ] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<execute>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_mode'))}) (C {<func_mode_execute>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{(DQ ($ Id.VSub_At '$@'))}) ) } ) ] ) (command.ShFunction name: func_mode_finish body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libs) op: assign_op.Equal rhs: (word.Empty) spids: [18473] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libdirs) op: assign_op.Equal rhs: (word.Empty) spids: [18476] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:admincmds) op: assign_op.Equal rhs: (word.Empty) spids: [18479] ) ] ) (command.ForEach iter_name: opt iter_words: [ {(DQ ($ Id.VSub_DollarName '$nonopt'))} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_Plus '+'> arg_word: {(DQ ($ Id.VSub_At '$@'))} ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-d>} {(DQ ($ Id.VSub_DollarName '$opt'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<libdirs>} {(DQ <' '> ($ Id.VSub_DollarName '$opt'))}) ] spids: [18505 18516] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$opt'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName '$opt'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<libs>} {(DQ <' '> ($ Id.VSub_DollarName '$opt'))} ) ] spids: [18544 18553] ) ] else_action: [ (C {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName '$opt') <'\' is not a valid libtool archive'> ) } ) ] ) ] spids: [18530 18541] ) ] else_action: [ (C {<func_fatal_error>} {(DQ <'invalid argument \''> ($ Id.VSub_DollarName '$opt') <'\''>)} ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$libs'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$lt_sysroot'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sysroot_regex) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$lt_sysroot'))} ) (C {($ Id.VSub_DollarName '$SED')} { (DQ ($ Id.VSub_DollarName '$sed_make_literal_regex') ) } ) ] negated: F ) ) } spids: [18629] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sysroot_cmd) op: assign_op.Equal rhs: { (DQ <'s/'> <Id.Lit_BadBackslash '\\'> <'([ \']'> <Id.Lit_BadBackslash '\\'> <')'> ($ Id.VSub_DollarName '$sysroot_regex') <'/'> <Id.Lit_BadBackslash '\\'> <'1/g;'> ) } spids: [18649] ) ] ) ] spids: [18615 18626] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sysroot_cmd) op: assign_op.Equal rhs: (word.Empty) spids: [18666] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$opt_dry_run')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_name: lib iter_words: [{($ Id.VSub_DollarName '$libs')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<echo>} { (DQ <'removing references to '> ($ Id.VSub_DollarName '$lt_sysroot') <' and \'=\' prefixes from '> ($ Id.VSub_DollarName '$lib') ) } ) ] ) ) ] spids: [18677 18682] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmpdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<func_mktempdir>}) ) } spids: [18713] ) ] ) (command.ForEach iter_name: lib iter_words: [{($ Id.VSub_DollarName '$libs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Simple words: [ {($ Id.VSub_DollarName '$SED')} {<-e>} { (DQ ($ Id.VSub_DollarName '$sysroot_cmd') <' s/'> <Id.Lit_BadBackslash '\\'> <'([ \']-[LR]'> <Id.Lit_BadBackslash '\\'> <')=/'> <Id.Lit_BadBackslash '\\'> <'1/g; s/'> <Id.Lit_BadBackslash '\\'> <'([ \']'> <Id.Lit_BadBackslash '\\'> <')=/'> <Id.Lit_BadBackslash '\\'> <'1/g'> ) } {($ Id.VSub_DollarName '$lib')} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$tmpdir') <'/tmp-la'>} ) ] do_fork: T ) (C {<mv>} {<-f>} {($ Id.VSub_DollarName '$tmpdir') <'/tmp-la'>} {($ Id.VSub_DollarName '$lib')} ) ] ) ) (C {(${ Id.VSub_Name RM) <r>} {(DQ ($ Id.VSub_DollarName '$tmpdir'))}) ] ) ] spids: [18601 18612] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName '$finish_cmds') ($ Id.VSub_DollarName '$finish_eval') ) } ) (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$libdirs'))}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_name: libdir iter_words: [{($ Id.VSub_DollarName '$libdirs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$finish_cmds'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName '$finish_cmds'))} {(SQ <'admincmds="$admincmds\n'>) (DQ ($ Id.VSub_DollarName '$cmd')) (SQ <'"'>)} ) ] spids: [18831 18842] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$finish_eval'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} {<Id.Lit_VarLike 'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$finish_eval') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$opt_dry_run')}) (C {<eval>} {(DQ ($ Id.VSub_DollarName '$cmds'))}) (C {<func_append>} {<admincmds>} {(DQ <'\n'> <' '> ($ Id.VSub_DollarName '$cmds'))} ) ] ) ] spids: [18869 18880] ) ] ) ] ) ) ] spids: [18794 18816] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$opt_quiet')}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_SUCCESS')} ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName '$finish_cmds') ($ Id.VSub_DollarName '$finish_eval') ) } ) (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$libdirs'))}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <---------------------------------------------------------------------->)} ) (C {<echo>} {(DQ <'Libraries have been installed in:'>)}) (command.ForEach iter_name: libdir iter_words: [{($ Id.VSub_DollarName '$libdirs')}] do_arg_iter: F body: (command.DoGroup children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ <' '> ($ Id.VSub_DollarName '$libdir'))} ) ] ) ) (C {<echo>}) (C {<echo>} {(DQ <'If you ever happen to want to link against installed libraries'>)} ) (C {<echo>} {(DQ <'in a given directory, LIBDIR, you must either use libtool, and'>)} ) (C {<echo>} {(DQ <'specify the full pathname of the library, or use the \'-LLIBDIR\''>)} ) (C {<echo>} {(DQ <'flag during linking and do at least one of the following:'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$shlibpath_var'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <' - add LIBDIR to the \''> ($ Id.VSub_DollarName '$shlibpath_var') <'\' environment variable'> ) } ) (C {<echo>} {(DQ <' during execution'>)}) ] spids: [19035 19046] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$runpath_var'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <' - add LIBDIR to the \''> ($ Id.VSub_DollarName '$runpath_var') <'\' environment variable'> ) } ) (C {<echo>} {(DQ <' during linking'>)}) ] spids: [19068 19079] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$hardcode_libdir_flag_spec'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libdir) op: assign_op.Equal rhs: {<LIBDIR>} spids: [19115] ) ] ) (C {<eval>} {<Id.Lit_VarLike 'flag='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$hardcode_libdir_flag_spec') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) } ) (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <' - use the \''> ($ Id.VSub_DollarName '$flag') <'\' linker flag'> ) } ) ] spids: [19101 19112] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$admincmds'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ <' - have your system administrator run these commands:'> ($ Id.VSub_DollarName '$admincmds') ) } ) ] spids: [19140 19151] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} {<'/etc/ld.so.conf'>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ < ' - have your system administrator add LIBDIR to \'/etc/ld.so.conf\'' > ) } ) ] spids: [19165 19174] ) ] ) (C {<echo>}) (C {<echo>} {(DQ <'See any operating system documentation about shared libraries for'>)} ) (command.Case to_match: {($ Id.VSub_DollarName '$host')} arms: [ (case_arm pat_list: [ {<solaris2.> <Id.Lit_LBracket '['> <6789> <Id.Lit_RBracket ']'>} {<solaris2.1> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>} ] action: [ (C {<echo>} { (DQ < 'more information, such as the ld(1), crle(1) and ld.so(8) manual' > ) } ) (C {<echo>} {(DQ <pages.>)}) ] spids: [19205 19214 19231 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <'more information, such as the ld(1) and ld.so(8) manual pages.'> ) } ) ] spids: [19234 19235 19245 -1] ) ] ) (C {<echo>} {(DQ <---------------------------------------------------------------------->)} ) ] spids: [18942 18964] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$EXIT_SUCCESS')} ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<finish>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$opt_mode'))}) (C {<func_mode_finish>} { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{(DQ ($ Id.VSub_At '$@'))}) ) } ) ] ) (command.ShFunction name: func_mode_install body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$debug_cmd')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {(DQ ($ Id.VSub_DollarName '$SHELL'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$nonopt'))} ) (C {<test>} {<'/bin/sh'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$nonopt'))} ) (command.Case to_match: {($ Id.VSub_DollarName '$nonopt')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <shtool> <Id.Lit_Star '*'>}] action: [(C {<Id.Lit_Colon ':'>})] spids: [19354 19357 19360 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<false>})] spids: [19362 19363 19366 -1] ) ] ) ] ) ] ) action: [ (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$nonopt'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_prog) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$func_quote_for_eval_result') <' '>)} spids: [19385] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [19392] ) ] ) (C {<shift>}) ] spids: [19315 19371] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_prog) op: assign_op.Equal rhs: (word.Empty) spids: [19402] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$nonopt')} spids: [19405] ) ] ) ] ) (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$arg'))}) (C {<func_append>} {<install_prog>} {(DQ ($ Id.VSub_DollarName '$func_quote_for_eval_result'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_shared_prog) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$install_prog')} spids: [19437] ) ] ) (command.Case to_match: {(DQ <' '> ($ Id.VSub_DollarName '$install_prog') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <'/'> <Id.Lit_RBracket ']'> <cp> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_cp) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [19463] ) ] ) ] spids: [19452 19461 19466 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_cp) op: assign_op.Equal rhs: {<false>} spids: [19472] ) ] ) ] spids: [19469 19470 19475 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dest) op: assign_op.Equal rhs: (word.Empty) spids: [19486] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:files) op: assign_op.Equal rhs: (word.Empty) spids: [19489] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opts) op: assign_op.Equal rhs: (word.Empty) spids: [19492] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prev) op: assign_op.Equal rhs: (word.Empty) spids: [19495] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_type) op: assign_op.Equal rhs: (word.Empty) spids: [19498] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isdir) op: assign_op.Equal rhs: {<false>} spids: [19501] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:stripme) op: assign_op.Equal rhs: (word.Empty) spids: [19505] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:no_mode) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [19508] ) ] ) (command.ForEach iter_name: arg do_arg_iter: T body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg2) op: assign_op.Equal rhs: (word.Empty) spids: [19520] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$dest'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<func_append>} {<files>} {(DQ <' '> ($ Id.VSub_DollarName '$dest'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dest) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [19547] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [19523 19534] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$arg')} arms: [ (case_arm pat_list: [{<-d>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isdir) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [19568] ) ] ) ] spids: [19565 19566 19571 -1] ) (case_arm pat_list: [{<-f>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$install_cp')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (C {<Id.Lit_Colon ':'>}) terminator: <Id.Op_Semi _> ) ] spids: [19578 19583] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prev) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [19591] ) ] ) ] ) ] spids: [19574 19575 19598 -1] ) (case_arm pat_list: [{<-g>} {<-m>} {<-o>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prev) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [19613] ) ] ) ] spids: [19601 19610 19617 -1] ) (case_arm pat_list: [{<-s>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:stripme) op: assign_op.Equal rhs: {(DQ <' -s'>)} spids: [19624] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [19620 19621 19633 -1] ) (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] spids: [19636 19638 19641 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$prev'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<X-m>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$prev'))} ) (C {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName '$install_override_mode' ) ) } ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg2) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$install_override_mode')} spids: [19693] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:no_mode) op: assign_op.Equal rhs: {<false>} spids: [19697] ) ] ) ] spids: [19666 19690] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prev) op: assign_op.Equal rhs: (word.Empty) spids: [19704] ) ] ) ] spids: [19652 19663] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dest) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$arg')} spids: [19710] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] ) ] spids: [19644 19645 19720 -1] ) ] ) (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$arg'))}) (C {<func_append>} {<install_prog>} {(DQ <' '> ($ Id.VSub_DollarName '$func_quote_for_eval_result'))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$arg2'))}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$arg2'))})] spids: [19748 19759] ) ] ) (C {<func_append>} {<install_shared_prog>} {(DQ <' '> ($ Id.VSub_DollarName '$func_quote_for_eval_result'))} ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$install_prog'))}) (C {<func_fatal_help>} {(DQ <'you must specify an install program'>)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$prev'))}) (C {<func_fatal_help>} {(DQ <'the \''> ($ Id.VSub_DollarName '$prev') <'\' option requires an argument'>)} ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$install_override_mode'))}) (C {($ Id.VSub_DollarName '$no_mode')}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$install_cp')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (C {<Id.Lit_Colon ':'>}) terminator: <Id.Op_Semi _> ) ] spids: [19846 19851] ) ] else_action: [ (C {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName '$install_override_mode'))} ) (C {<func_append>} {<install_shared_prog>} {(DQ <' -m '> ($ Id.VSub_DollarName '$func_quote_for_eval_result'))} ) ] ) ] spids: [19828 19843] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$files'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$dest'))}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<func_fatal_help>} {(DQ <'no file or destination specified'>)})] spids: [19897 19908] ) ] else_action: [(C {<func_fatal_help>} {(DQ <'you must specify a destination'>)})] ) ] spids: [19883 19894] ) ] ) (C {<func_stripname>} {(SQ )} {(SQ <'/'>)} {(DQ ($ Id.VSub_DollarName '$dest'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dest) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_stripname_result')} spids: [19953] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-d>} {(DQ ($ Id.VSub_DollarName '$dest'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isdir) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [19972] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$isdir')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:destdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$dest')} spids: [19984] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:destname) op: assign_op.Equal rhs: (word.Empty) spids: [19988] ) ] ) ] spids: [19976 19981] ) ] else_action: [ (C {<func_dirname_and_basename>} {(DQ ($ Id.VSub_DollarName '$dest'))} {(DQ )} {(DQ <.>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:destdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [20008] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:destname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_basename_result')} spids: [20012] ) ] ) (command.Sentence child: (C {<set>} {<dummy>} {($ Id.VSub_DollarName '$files')}) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {(DQ ($ Id.VSub_Pound '$#'))} {<-gt>} {<1>}) (C {<func_fatal_help>} {(DQ <'\''> ($ Id.VSub_DollarName '$dest') <'\' is not a directory'>)} ) ] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$destdir')} arms: [ (case_arm pat_list: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_LBracket '['> <A-Za-z> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] spids: [20064 20081 20083 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$files')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$file')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.lo>}] spids: [20109 20111 20113 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_fatal_help>} { (DQ <'\''> ($ Id.VSub_DollarName '$destdir') <'\' must be an absolute directory name'> ) } ) ] spids: [20116 20117 20129 -1] ) ] ) ] ) ) ] spids: [20086 20087 20138 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libtool_install_magic) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$magic')} spids: [20153] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:staticlibs) op: assign_op.Equal rhs: (word.Empty) spids: [20158] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:future_libdirs) op: assign_op.Equal rhs: (word.Empty) spids: [20161] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:current_libdirs) op: assign_op.Equal rhs: (word.Empty) spids: [20164] ) ] ) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$files')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$file')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName '$libext')}] action: [ (C {<func_append>} {<staticlibs>} {(DQ <' '> ($ Id.VSub_DollarName '$file'))}) ] spids: [20191 20194 20211 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.la>}] action: [ (C {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName '$file'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_resolve_sysroot_result')} spids: [20227] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName '$file'))}) (C {<func_fatal_help>} { (DQ <'\''> ($ Id.VSub_DollarName '$file') <'\' is not a valid libtool archive'> ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:library_names) op: assign_op.Equal rhs: (word.Empty) spids: [20256] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:old_library) op: assign_op.Equal rhs: (word.Empty) spids: [20259] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:relink_command) op: assign_op.Equal rhs: (word.Empty) spids: [20262] ) ] ) (C {<func_source>} {(DQ ($ Id.VSub_DollarName '$file'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$destdir'))} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$libdir'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$current_libdirs') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName '$libdir') <' '>) <Id.Lit_Star '*'> } ] spids: [20307 20314 20316 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_append>} {<current_libdirs>} {(DQ <' '> ($ Id.VSub_DollarName '$libdir'))} ) ] spids: [20319 20320 20331 -1] ) ] ) ] spids: [20277 20294] ) ] else_action: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$future_libdirs') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName '$libdir') <' '>) <Id.Lit_Star '*'> } ] spids: [20354 20361 20363 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<func_append>} {<future_libdirs>} {(DQ <' '> ($ Id.VSub_DollarName '$libdir'))} ) ] spids: [20366 20367 20378 -1] ) ] ) ] ) (C {<func_dirname>} {(DQ ($ Id.VSub_DollarName '$file'))} {(DQ <'/'>)} {(DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$func_dirname_result')} spids: [20402] ) ] ) (C {<func_append>} {<dir>} {(DQ ($ Id.VSub_DollarName '$objdir'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$relink_command'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:inst_prefix_dir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} {(DQ ($ Id.VSub_DollarName '$destdir'))} ) (C {($ Id.VSub_DollarName '$SED')} {<-e>} { (DQ <'s%'> ($ Id.VSub_DollarName '$libdir') <Id.Lit_Dollar '$'> <'%%'> ) } ) ] negated: F ) ) } spids: [20434] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {(DQ ($ Id.VSub_DollarName '$inst_prefix_dir'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$destdir'))} ) (C {<func_fatal_error>} { (DQ <'error: cannot install \''> ($ Id.VSub_DollarName '$file') <'\' to a directory not ending in '> ($ Id.VSub_DollarName '$libdir') ) } ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$inst_prefix_dir'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:relink_command) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$relink_command' ) ) } ) (C {($ Id.VSub_DollarName '$SED')} { (DQ < 's%@inst_prefix_dir@%-inst-prefix-dir ' > ($ Id.VSub_DollarName '$inst_prefix_dir') <'%'> ) } ) ] negated: F ) ) } spids: [20531] ) ] ) ] spids: [20513 20524] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:relink_command) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ECHO')} { (DQ ($ Id.VSub_DollarName '$relink_command' ) ) } ) (C {($ Id.VSub_DollarName '$SED')} {(DQ <'s%@inst_prefix_dir@%%'>)} ) ] negated: F ) ) } spids: [20556] ) ] ) ] ) (C {<func_warning>} {(DQ <'relinking \''> ($ Id.VSub_DollarName '$file') <'\''>)} ) (C {<func_show_eval>} {(DQ ($ Id.VSub_DollarName '$relink_command'))} {(SQ <'func_fatal_error "error: relink '>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\''> ) (SQ <'$file'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) (SQ <' with the above command before installing it"'>) } ) ] spids: [20416 20427] ) ] ) (command.Sentence child: (C {<set>} {<dummy>} {($ Id.VSub_DollarName '$library_names')}) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:realname) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [20642] ) ] ) (C {<shift>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$realname')} spids: [20650] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$relink_command'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcname) op: assign_op.Equal rhs: {(${ Id.VSub_Name realname) <T>} spids: [20664] ) ] ) ] ) (C {<func_show_eval>} { (DQ ($ Id.VSub_DollarName '$install_shared_prog') <' '> ($ Id.VSub_DollarName '$dir') <'/'> ($ Id.VSub_DollarName '$srcname') <' '> ($ Id.VSub_DollarName '$destdir') <'/'> ($ Id.VSub_DollarName '$realname') ) } {(SQ <'exit $?'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tstripme) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$stripme')} spids: [20697] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$host_os')} arms: [ (case_arm pat_list: [ {<cygwin> <Id.Lit_Star '*'>} {<mingw> <Id.Lit_Star '*'>} {<pw32> <Id.Lit_Star '*'>} {<cegcc> <Id.Lit_Star '*'>} ] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$realname')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.dll.a>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tstripme) op: assign_op.Equal rhs: (word.Empty) spids: [20740] ) ] ) ] spids: [20735 20737 20743 -1] ) ] ) ] spids: [20708 20725 20749 -1] ) (case_arm pat_list: [{<os2> <Id.Lit_Star '*'>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$realname')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <_dll.a>}] action: [ (command.ShAssignment pairs: [