(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'PROGRAM='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PROGRAM='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROGRAM='> name:PROGRAM) op: assign_op.Equal rhs: {<libtool>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PACKAGE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PACKAGE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PACKAGE='> name:PACKAGE) op: assign_op.Equal rhs: {<libtool>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'VERSION='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VERSION='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VERSION='> name:VERSION) op: assign_op.Equal rhs: {(DQ <'2.4.6 Debian-2.4.6-0.1'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'package_revision='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'package_revision='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'package_revision='> name:package_revision) op: assign_op.Equal rhs: {<2.4.6>} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name AUTOCONF> var_name: AUTOCONF suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <autoconf>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name AUTOMAKE> var_name: AUTOMAKE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <automake>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'scriptversion='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'scriptversion='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'scriptversion='> name:scriptversion) op: assign_op.Equal rhs: {<2015-01-20.17>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'DUALCASE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DUALCASE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DUALCASE='> name:DUALCASE) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<DUALCASE>}] redirects: [] do_fork: T ) ] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ZSH_VERSION> var_name: ZSH_VERSION suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<set>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <emulate> more_env: [] words: [{<emulate>} {<sh>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> 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>} ) ] ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <emulate> more_env: [] words: [{<emulate>} {<sh>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'NULLCMD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NULLCMD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NULLCMD='> name:NULLCMD) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.Simple blame_tok: <alias> more_env: [] words: [{<alias>} {<-g>} {(SQ <'${1+"$@"}'>) <Id.Lit_Equals '='> (SQ <'"$@"'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setopt> more_env: [] words: [{<setopt>} {<NO_GLOB_SUBST>}] redirects: [] do_fork: T ) ] spids: [319 348] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) right: <Id.Backtick_Right '`'> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <posix> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<posix>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_user_locale='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_user_locale='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_user_locale='> name:_G_user_locale) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_safe_locale='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_safe_locale='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_safe_locale='> name:_G_safe_locale) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_var] iterable: (for_iter.Words words: [{<LANG>} {<LANGUAGE>} {<LC_ALL>} {<LC_CTYPE>} {<LC_COLLATE>} {<LC_MESSAGES>}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'if test set = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{'> ($ Id.VSub_DollarName _G_var) <'+set}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then\n'> <' save_'> ($ Id.VSub_DollarName _G_var) <'='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ 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 '\\"'> ch:'"') ($ Id.VSub_DollarName _G_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <save_> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'_G_var; '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <_G_user_locale> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <'\t _G_safe_locale='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName _G_var) <'=C; '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <_G_safe_locale> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <'\tfi'> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<CDPATH>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> 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.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<CDPATH>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'sp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sp='> name:sp) op: assign_op.Equal rhs: {(SQ <' '>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'nl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nl='> name:nl) op: assign_op.Equal rhs: {(SQ <'\n'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName sp) <'\t'> ($ Id.VSub_DollarName nl))} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PATH_SEPARATOR> var_name: PATH_SEPARATOR suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<set>}) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<set>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'PATH_SEPARATOR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH_SEPARATOR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH_SEPARATOR='> name:PATH_SEPARATOR) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.AndOr children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {(SQ <'/bin;/bin'>)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'FPATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FPATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FPATH='> name:FPATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName PATH)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <sh> more_env: [] words: [{<sh>} {<-c>} {<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] ) right: <Id.Right_Subshell _> 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 left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PATH='> name: PATH ) op: assign_op.Equal rhs: {(SQ <'/bin:/bin'>)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'FPATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FPATH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FPATH='> name: FPATH ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName PATH)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <sh> more_env: [] words: [{<sh>} {<-c>} {<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] ) right: <Id.Right_Subshell _> 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 left: <Id.Lit_VarLike 'PATH_SEPARATOR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH_SEPARATOR='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PATH_SEPARATOR='> name: PATH_SEPARATOR ) op: assign_op.Equal rhs: {(SQ <';'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [549 567] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_executable_p> name: func_executable_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-x>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_path_progs> name: func_path_progs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_progs_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_progs_list='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_progs_list='> name:_G_progs_list) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_check_func='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_check_func='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_check_func='> name:_G_check_func) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_PATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_PATH='> name:_G_PATH) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {(DQ ($ Id.VSub_DollarName PATH))} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog_max='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog_max='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog_max='> name: _G_path_prog_max ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog_found='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog_found='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog_found='> name: _G_path_prog_found ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike '_G_save_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_save_IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_save_IFS='> name:_G_save_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PATH_SEPARATOR> var_name: PATH_SEPARATOR suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<':'>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_dir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_PATH)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_save_IFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName _G_dir))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_dir='> name:_G_dir) op: assign_op.Equal rhs: {<.>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_prog_name] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_progs_list)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [_exeext] iterable: (for_iter.Words words:[{(SQ )} {<.EXE>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog='> name: _G_path_prog ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_dir) <'/'> ($ Id.VSub_DollarName _G_prog_name) ($ Id.VSub_DollarName _exeext) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <func_executable_p> more_env: [] words: [ {<func_executable_p>} {(DQ ($ Id.VSub_DollarName _G_path_prog))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DPipe _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <GNU> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_path_progs_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_path_progs_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_path_progs_result='> name: func_path_progs_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_path_prog)} ) (AssignPair left: <Id.Lit_VarLike '_G_path_prog_found='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog_found='> name: _G_path_prog_found ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$_G_check_func'> more_env: [] words: [ {($ Id.VSub_DollarName _G_check_func)} {($ Id.VSub_DollarName _G_path_prog)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_path_progs_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_path_progs_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_path_progs_result='> name: func_path_progs_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_check_prog_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$_G_path_prog_found'> more_env: [] words: [{($ Id.VSub_DollarName _G_path_prog_found)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> arg_word: {<3>} ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_save_IFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName func_path_progs_result))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'no acceptable sed could be found in '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <PATH> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName SED))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_sed_script='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_sed_script='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_sed_script='> name:_G_sed_script) op: assign_op.Equal rhs: {<'s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/'>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_i] iterable: (for_iter.Words words:[{<1>} {<2>} {<3>} {<4>} {<5>} {<6>} {<7>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_sed_script='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_sed_script='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_sed_script='> 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) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <sed> more_env: [] words: [{<sed>} {<99q>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.sed>} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_sed_script='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_sed_script='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_sed_script='> name:_G_sed_script) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShFunction name_tok: <func_check_prog_sed> name: func_check_prog_sed body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog='> name: _G_path_prog ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_count='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_count='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_count='> name:_G_count) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <printf> more_env: [] 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: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<conftest.in>} {<conftest.in>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.tmp>} ) ] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [{<mv>} {<conftest.tmp>} {<conftest.in>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<conftest.in>} {<conftest.nl>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.nl>} ) ] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] 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 keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <diff> more_env: [] 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 keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_count='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_count='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_count='> name: _G_count ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {($ Id.VSub_DollarName _G_count)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName _G_count))} {<-gt>} {(DQ ($ Id.VSub_DollarName _G_path_prog_max))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_check_prog_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_check_prog_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_check_prog_result='> name: func_check_prog_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_path_prog)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog_max='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog_max='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog_max='> name: _G_path_prog_max ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_count)} ) ] redirects: [] ) ] spids: [1166 1181] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<10>} {<-lt>} {(DQ ($ Id.VSub_DollarName _G_count))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <rm> more_env: [] words: [ {<rm>} {<-f>} {<conftest.in>} {<conftest.tmp>} {<conftest.nl>} {<conftest.out>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_path_progs> more_env: [] words: [ {<func_path_progs>} {(DQ <'sed gsed'>)} {<func_check_prog_sed>} {($ Id.VSub_DollarName PATH) <Id.Lit_Colon ':'> <'/usr/xpg4/bin'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<conftest.sed>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'SED='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SED='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SED='> name:SED) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_path_progs_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName GREP))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShFunction name_tok: <func_check_prog_grep> name: func_check_prog_grep body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog='> name: _G_path_prog ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_count='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_count='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_count='> name:_G_count) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog_max='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog_max='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog_max='> name: _G_path_prog_max ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <printf> more_env: [] 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: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<conftest.in>} {<conftest.in>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.tmp>} ) ] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [{<mv>} {<conftest.tmp>} {<conftest.in>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<conftest.in>} {<conftest.nl>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <GREP>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.nl>} ) ] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] 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 keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <diff> more_env: [] 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 keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_count='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_count='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_count='> name: _G_count ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {($ Id.VSub_DollarName _G_count)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName _G_count))} {<-gt>} {(DQ ($ Id.VSub_DollarName _G_path_prog_max))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_check_prog_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_check_prog_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_check_prog_result='> name: func_check_prog_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_path_prog)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_path_prog_max='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_path_prog_max='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_path_prog_max='> name: _G_path_prog_max ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_count)} ) ] redirects: [] ) ] spids: [1418 1433] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<10>} {<-lt>} {(DQ ($ Id.VSub_DollarName _G_count))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <rm> more_env: [] words: [ {<rm>} {<-f>} {<conftest.in>} {<conftest.tmp>} {<conftest.nl>} {<conftest.out>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_path_progs> more_env: [] words: [ {<func_path_progs>} {(DQ <'grep ggrep'>)} {<func_check_prog_grep>} {($ Id.VSub_DollarName PATH) <Id.Lit_Colon ':'> <'/usr/xpg4/bin'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'GREP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'GREP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GREP='> name:GREP) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_path_progs_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CP> var_name: CP suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <'cp -f'>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ECHO> var_name: ECHO suffix_op: (suffix_op.Unary op: <Id.VTest_Equals _> arg_word: {(DQ <'printf %s'> <Id.Lit_BadBackslash '\\'> <n>)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name EGREP> var_name: EGREP suffix_op: (suffix_op.Unary op: <Id.VTest_Equals _> arg_word: {(DQ ($ Id.VSub_DollarName GREP) <' -E'>)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name FGREP> var_name: FGREP suffix_op: (suffix_op.Unary op: <Id.VTest_Equals _> arg_word: {(DQ ($ Id.VSub_DollarName GREP) <' -F'>)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LN_S> var_name: LN_S suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <'ln -s'>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MAKE> var_name: MAKE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <make>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MKDIR> var_name: MKDIR suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <mkdir>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MV> var_name: MV suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <'mv -f'>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name RM> var_name: RM suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <'rm -f'>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SHELL> var_name: SHELL suffix_op: (suffix_op.Unary op: <Id.VTest_Equals _> arg_word: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONFIG_SHELL> var_name: CONFIG_SHELL suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<Id.Lit_Slash '/'> <bin> <Id.Lit_Slash '/'> <sh>} ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_dirname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_dirname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_dirname='> name:sed_dirname) op: assign_op.Equal rhs: {(SQ <'s|/[^/]*$||'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_basename='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_basename='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_basename='> name:sed_basename) op: assign_op.Equal rhs: {(SQ <'s|^.*/||'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_quote_subst='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_quote_subst='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_quote_subst='> name:sed_quote_subst) op: assign_op.Equal rhs: {(SQ <'s|\\([`"$\\\\]\\)|\\\\\\1|g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_double_quote_subst='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_double_quote_subst='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sed_double_quote_subst='> name: sed_double_quote_subst ) op: assign_op.Equal rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_make_literal_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_make_literal_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sed_make_literal_regex='> name: sed_make_literal_regex ) op: assign_op.Equal rhs: {(SQ <'s|[].[^$\\\\*\\/]|\\\\&|g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_naive_backslashify='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_naive_backslashify='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sed_naive_backslashify='> name: sed_naive_backslashify ) op: assign_op.Equal rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_bs='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_bs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_bs='> name:_G_bs) op: assign_op.Equal rhs: {(SQ <'\\\\'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_bs2='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_bs2='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_bs2='> name:_G_bs2) op: assign_op.Equal rhs: {(SQ <'\\\\\\\\'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_bs4='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_bs4='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_bs4='> name:_G_bs4) op: assign_op.Equal rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_dollar='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_dollar='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_dollar='> name:_G_dollar) op: assign_op.Equal rhs: {(SQ <'\\$'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_double_backslash='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_double_backslash='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sed_double_backslash='> name: sed_double_backslash ) op: assign_op.Equal rhs: { (DQ <' s/'> ($ Id.VSub_DollarName _G_bs4) <'/&'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'\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 '\\\\'> ch:'\\') <'([^'> ($ Id.VSub_DollarName _G_bs) <']'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <')'> ($ Id.VSub_DollarName _G_bs2) ($ Id.VSub_DollarName _G_dollar) <'/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <1> ($ Id.VSub_DollarName _G_bs2) ($ Id.VSub_DollarName _G_bs) ($ Id.VSub_DollarName _G_dollar) <'/g\n'> <' s/'> <Id.Lit_BadBackslash '\\'> <'n//g'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'EXIT_SUCCESS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'EXIT_SUCCESS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXIT_SUCCESS='> name:EXIT_SUCCESS) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'EXIT_FAILURE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'EXIT_FAILURE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXIT_FAILURE='> name:EXIT_FAILURE) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'EXIT_MISMATCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'EXIT_MISMATCH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXIT_MISMATCH='> name:EXIT_MISMATCH) op: assign_op.Equal rhs: {<63>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'EXIT_SKIP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'EXIT_SKIP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXIT_SKIP='> name:EXIT_SKIP) op: assign_op.Equal rhs: {<77>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'debug_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'debug_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'debug_cmd='> name:debug_cmd) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name debug_cmd> var_name: debug_cmd suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(DQ <':'>)}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exit_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_cmd='> name:exit_cmd) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exit_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_status='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_status='> name:exit_status) op: assign_op.Equal rhs: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'progpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progpath='> name:progpath) op: assign_op.Equal rhs: {($ Id.VSub_Number 0)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'progname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progname='> name:progname) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName progpath))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_basename))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName progpath)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch: '\\' ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'progdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progdir='> name:progdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName progpath))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_dirname))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'progdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progdir='> name:progdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ ($ Id.VSub_DollarName progdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'progpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progpath='> name:progpath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName progname)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_IFS='> name:_G_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PATH_SEPARATOR> var_name: PATH_SEPARATOR suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<':'>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [progdir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName PATH)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_IFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-x>} { (DQ ($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName progname)) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_IFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName progdir))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'progdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progdir='> name:progdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'progpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'progpath='> name:progpath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName progname)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_dry_run='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_dry_run='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_dry_run='> name:opt_dry_run) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_quiet='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_quiet='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_quiet='> name:opt_quiet) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_verbose='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_verbose='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_verbose='> name:opt_verbose) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'warning_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'warning_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'warning_categories='> name:warning_categories) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'warning_func='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'warning_func='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'warning_func='> name:warning_func) op: assign_op.Equal rhs: {<func_warn_and_continue>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning_types='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning_types='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_warning_types='> name:opt_warning_types) op: assign_op.Equal rhs: {<all>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'require_term_colors='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'require_term_colors='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'require_term_colors='> name: require_term_colors ) op: assign_op.Equal rhs: {<func_require_term_colors>} ) ] redirects: [] ) (command.ShFunction name_tok: <func_require_term_colors> name: func_require_term_colors body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-t>} {<1>}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name COLORTERM> var_name: COLORTERM suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<set>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name USE_ANSI_COLORS> var_name: USE_ANSI_COLORS suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <1>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName USE_ANSI_COLORS))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tc_reset='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_reset='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_reset='> name: tc_reset ) op: assign_op.Equal rhs: {(SQ <'\x1b[0m'>)} ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'tc_bold='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_bold='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_bold='> name: tc_bold ) op: assign_op.Equal rhs: {(SQ <'\x1b[1m'>)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_standout='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_standout='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_standout='> name: tc_standout ) op: assign_op.Equal rhs: {(SQ <'\x1b[7m'>)} ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'tc_red='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_red='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_red='> name: tc_red ) op: assign_op.Equal rhs: {(SQ <'\x1b[31m'>)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_green='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_green='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_green='> name: tc_green ) op: assign_op.Equal rhs: {(SQ <'\x1b[32m'>)} ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'tc_blue='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_blue='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_blue='> name: tc_blue ) op: assign_op.Equal rhs: {(SQ <'\x1b[34m'>)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_cyan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_cyan='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_cyan='> name: tc_cyan ) op: assign_op.Equal rhs: {(SQ <'\x1b[36m'>)} ) ] redirects: [] ) ] spids: [2296 2309] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<sgr0>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'tc_reset='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_reset='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_reset='> name: tc_reset ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<sgr0>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<bold>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_bold='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_bold='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_bold='> name: tc_bold ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<bold>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_standout='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_standout='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_standout='> name: tc_standout ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tc_bold)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<smso>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_standout='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_standout='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_standout='> name: tc_standout ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<smso>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<1>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_red='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_red='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_red='> name: tc_red ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<1>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<2>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_green='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_green='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_green='> name: tc_green ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<2>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<4>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_blue='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_blue='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_blue='> name: tc_blue ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<4>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<5>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tc_cyan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tc_cyan='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tc_cyan='> name: tc_cyan ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <tput> more_env: [] words: [{<tput>} {<setaf>} {<5>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'require_term_colors='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'require_term_colors='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'require_term_colors='> name: require_term_colors ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<set>} {<Id.Lit_Equals '='>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name BASH_VERSION> var_name: BASH_VERSION suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<set>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ZSH_VERSION> var_name: ZSH_VERSION suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<set>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _G_HAVE_ARITH_OP> var_name: _G_HAVE_ARITH_OP suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <yes>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _G_HAVE_XSI_OPS> var_name: _G_HAVE_XSI_OPS suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <yes>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName BASH_VERSION)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> <12> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'>} {<3.0>} {<3.0> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _G_HAVE_PLUSEQ_OP> var_name: _G_HAVE_PLUSEQ_OP suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <yes>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [2655 2677] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName _G_HAVE_PLUSEQ_OP))}] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(SQ <'x=a; x+=" b"; test "a b" = "$x"'>)}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_HAVE_PLUSEQ_OP='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_HAVE_PLUSEQ_OP='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_HAVE_PLUSEQ_OP='> name: _G_HAVE_PLUSEQ_OP ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_PLUSEQ_OP))} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ <'func_append ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' eval "$1+=\\$2"\n'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [2800 2812] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_append> name: func_append body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_Number 1) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_Number 1) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <2> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_PLUSEQ_OP))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<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'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [2880 2893] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_append_quoted> name: func_append_quoted body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_Number 2))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_Number 1) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_Number 1) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <func_quote_for_eval_result> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_append_uniq> name: func_append_uniq body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike '_G_current_value='> (SQ <'`$ECHO $'>) ($ Id.VSub_Number 1) (SQ <'`'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_delim='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_delim='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_delim='> name:_G_delim) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {(DQ ($ Id.VSub_Number 2))} {<Id.Lit_Colon ':'>} {(SQ <'\\(.\\)'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName _G_delim) ($ Id.VSub_DollarName _G_current_value) ($ Id.VSub_DollarName _G_delim) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ ($ Id.VSub_Number 2) ($ Id.VSub_DollarName _G_delim)) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName _G_HAVE_ARITH_OP))}] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(SQ <'test 2 = $(( 1 + 1 ))'>)}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_HAVE_ARITH_OP='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_HAVE_ARITH_OP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_HAVE_ARITH_OP='> name:_G_HAVE_ARITH_OP) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_ARITH_OP))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ <'func_arith ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_arith_result=$(( $* ))\n'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [3107 3120] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_arith> name: func_arith body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_arith_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_arith_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_arith_result='> name: func_arith_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [{<expr>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_b='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_b='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_b='> name:_b) op: assign_op.Equal rhs: {(SQ <'func_basename_result=${1##*/}'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_d='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_d='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_d='> name:_d) op: assign_op.Equal rhs: { (SQ <'case $1 in\n'> <' */*) func_dirname_result=${1%/*}$2 ;;\n'> <' * ) func_dirname_result=$3 ;;\n'> <' esac'> ) } ) ] redirects: [] ) ] spids: [3180 3193] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike '_b='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_b='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_b='> name:_b) op: assign_op.Equal rhs: {(SQ <'func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_d='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_d='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_d='> 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'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'func_basename ()\n'> <'{\n'> <' $debug_cmd\n'> <'\n'> <' '>) (DQ ($ Id.VSub_DollarName _b)) (SQ <'\n'> <'}'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'func_dirname ()\n'> <'{\n'> <' $debug_cmd\n'> <'\n'> <' '>) (DQ ($ Id.VSub_DollarName _d)) (SQ <'\n'> <'}'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<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'> <'}'>) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <func_echo> name: func_echo body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_message='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_message='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_message='> name:_G_message) op: assign_op.Equal rhs: {($ Id.VSub_Star '*')} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_echo_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_echo_IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'func_echo_IFS='> name:func_echo_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nl)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_line] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_message)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_echo_IFS)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName progname) <': '> ($ Id.VSub_DollarName _G_line))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_echo_IFS)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_echo_all> name: func_echo_all body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Star '*'))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_echo_infix_1> name: func_echo_infix_1 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$require_term_colors'> more_env: [] words: [{($ Id.VSub_DollarName require_term_colors)}] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike '_G_infix='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_infix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_infix='> name:_G_infix) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_indent='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_indent='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_indent='> name:_G_indent) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_infix)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_prefix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_prefix='> name:_G_prefix) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName progname) <': '> ($ Id.VSub_DollarName _G_infix) <': '>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_message='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_message='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_message='> name:_G_message) op: assign_op.Equal rhs: {($ Id.VSub_Star '*')} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_tc] iterable: (for_iter.Words 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))} ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName _G_tc))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_esc_tc='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_esc_tc='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_esc_tc='> name: _G_esc_tc ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName _G_tc))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_make_literal_regex))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_indent='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_indent='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_indent='> name: _G_indent ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName _G_indent))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s|'> ($ Id.VSub_DollarName _G_esc_tc) <'||g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_indent='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_indent='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_indent='> name:_G_indent) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName progname) <': '>) (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName _G_indent))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(SQ <'s|.| |g'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) (DQ <' '>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_echo_infix_1_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_echo_infix_1_IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_echo_infix_1_IFS='> name: func_echo_infix_1_IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nl)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_line] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_message)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_echo_infix_1_IFS)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] 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 left: <Id.Lit_VarLike '_G_prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_prefix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_prefix='> name:_G_prefix) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_indent)} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_echo_infix_1_IFS)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_error> name: func_error body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$require_term_colors'> more_env: [] words: [{($ Id.VSub_DollarName require_term_colors)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_echo_infix_1> more_env: [] 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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_fatal_error> name: func_fatal_error body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [{<func_error>} {(DQ ($ Id.VSub_Star '*'))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_grep> name: func_grep body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] 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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))}] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'x=a/b/c;\n'> <' test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"'>)} ] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_HAVE_XSI_OPS='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_HAVE_XSI_OPS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_HAVE_XSI_OPS='> name:_G_HAVE_XSI_OPS) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ <'func_len ()\n'> <' {\n'> <' $debug_cmd\n'> <'\n'> <' func_len_result=${#1}\n'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [3865 3878] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_len> name: func_len body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_len_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_len_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_len_result='> name: func_len_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <expr> more_env: [] 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 ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName max_cmd_len)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_mkdir_p> name: func_mkdir_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_directory_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_directory_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_directory_path='> name: _G_directory_path ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_dir_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_dir_list='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_dir_list='> name:_G_dir_list) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName _G_directory_path))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_dry_run))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _G_directory_path)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-> pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_directory_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_directory_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_directory_path='> name: _G_directory_path ) op: assign_op.Equal rhs: {<'./'> ($ Id.VSub_DollarName _G_directory_path)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName _G_directory_path))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_dir_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_dir_list='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_dir_list='> name: _G_dir_list ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_directory_path) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName _G_dir_list) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _G_directory_path)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_directory_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_directory_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_directory_path='> name: _G_directory_path ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName _G_directory_path))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ ($ Id.VSub_DollarName sed_dirname))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_dir_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_dir_list='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_dir_list='> name: _G_dir_list ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName _G_dir_list))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(SQ <'s|:*$||'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'func_mkdir_p_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_mkdir_p_IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_mkdir_p_IFS='> name: func_mkdir_p_IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_dir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_dir_list)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_mkdir_p_IFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$MKDIR'> more_env: [] 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 ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_mkdir_p_IFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName _G_directory_path))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'Failed to create \''> ($ Id.VSub_Number 1) <'\''>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [3970 3994] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_mktempdir> name: func_mktempdir body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_template='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_template='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_template='> name:_G_template) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TMPDIR> var_name: TMPDIR suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<Id.Lit_Slash '/'> <tmp>} ) right: <Id.Right_DollarBrace '}'> ) <'/'> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {($ Id.VSub_DollarName progname)} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_dry_run))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_tmpdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_tmpdir='> name:_G_tmpdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_template) <-> ($ Id.VSub_Dollar '$')} ) ] redirects: [] ) ] spids: [4269 4282] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_tmpdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_tmpdir='> name:_G_tmpdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <mktemp> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName _G_tmpdir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_tmpdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_tmpdir='> name: _G_tmpdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_template) <-> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name RANDOM> var_name: RANDOM suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_Dollar '$') } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_mktempdir_umask='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_mktempdir_umask='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_mktempdir_umask='> name: func_mktempdir_umask ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <umask> more_env: [] words: [{<umask>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <umask> more_env: [] words: [{<umask>} {<0077>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MKDIR'> more_env: [] words: [{($ Id.VSub_DollarName MKDIR)} {(DQ ($ Id.VSub_DollarName _G_tmpdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <umask> more_env: [] words: [{<umask>} {($ Id.VSub_DollarName func_mktempdir_umask)}] redirects: [] do_fork: T ) ] spids: [4322 4335] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName _G_tmpdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot create temporary directory \''> ($ Id.VSub_DollarName _G_tmpdir) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName _G_tmpdir))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_normal_abspath> name: func_normal_abspath body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_pathcar='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_pathcar='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_pathcar='> name:_G_pathcar) op: assign_op.Equal rhs: {(SQ <'s|^/\\([^/]*\\).*$|\\1|'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_pathcdr='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_pathcdr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_pathcdr='> name:_G_pathcdr) op: assign_op.Equal rhs: {(SQ <'s|^/[^/]*||'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_removedotparts='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_removedotparts='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_removedotparts='> name: _G_removedotparts ) op: assign_op.Equal rhs: {(SQ <':dotsl\n'> <'\t\ts|/\\./|/|g\n'> <'\t\tt dotsl\n'> <'\t\ts|/\\.$|/|'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_collapseslashes='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_collapseslashes='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_collapseslashes='> name: _G_collapseslashes ) op: assign_op.Equal rhs: {(SQ <'s|/\\{1,\\}|/|g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_finalslash='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_finalslash='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_finalslash='> name:_G_finalslash) op: assign_op.Equal rhs: {(SQ <'s|/*$|/|'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_result='> name: func_normal_abspath_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> name: func_normal_abspath_tpath ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_altnamespace='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_altnamespace='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_altnamespace='> name: func_normal_abspath_altnamespace ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName func_normal_abspath_tpath)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <'/'>)} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_result='> name: func_normal_abspath_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] right: <Id.Op_DSemi _> ) (CaseArm left: <'///'> pattern: (pat.Words words:[{<'///'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <'//'> pattern: (pat.Words words:[{<'//'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_altnamespace='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_altnamespace='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_altnamespace='> name: func_normal_abspath_altnamespace ) op: assign_op.Equal rhs: {<'/'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <'/'> pattern: (pat.Words words:[{<'/'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> name: func_normal_abspath_tpath ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <'/'> ($ Id.VSub_DollarName func_normal_abspath_tpath) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> name: func_normal_abspath_tpath ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName func_normal_abspath_tpath))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ 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))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<'/'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName func_normal_abspath_tpath))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName func_normal_abspath_result) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_result='> name: func_normal_abspath_result ) op: assign_op.Equal rhs: {<'/'>} ) ] redirects: [] ) ] spids: [4713 4724] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [4693 4706] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_tcomponent='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_tcomponent='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_tcomponent='> name: func_normal_abspath_tcomponent ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName func_normal_abspath_tpath))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ ($ Id.VSub_DollarName _G_pathcar))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_tpath='> name: func_normal_abspath_tpath ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName func_normal_abspath_tpath))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ ($ Id.VSub_DollarName _G_pathcdr))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName func_normal_abspath_tcomponent)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <..> pattern: (pat.Words words:[{<..>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName func_normal_abspath_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_result='> name: func_normal_abspath_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_normal_abspath_result>} {(DQ <'/'> ($ Id.VSub_DollarName func_normal_abspath_tcomponent))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_normal_abspath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_normal_abspath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_normal_abspath_result='> name: func_normal_abspath_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_normal_abspath_altnamespace) ($ Id.VSub_DollarName func_normal_abspath_result) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_notquiet> name: func_notquiet body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_quiet'> more_env: [] words: [{($ Id.VSub_DollarName opt_quiet)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_echo> more_env: [] words: [ {<func_echo>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_relative_path> name: func_relative_path body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_normal_abspath> more_env: [] words: [{<func_normal_abspath>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_tlibdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_tlibdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_tlibdir='> name: func_relative_path_tlibdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_normal_abspath_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_normal_abspath> more_env: [] words: [{<func_normal_abspath>} {(DQ ($ Id.VSub_Number 2))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_tbindir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_tbindir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_tbindir='> name: func_relative_path_tbindir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_normal_abspath_result)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName func_relative_path_tbindir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.VSub_DollarName '$func_relative_path_tlibdir'> pattern: (pat.Words words: [{($ Id.VSub_DollarName func_relative_path_tlibdir)}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> name: func_relative_path_tcancelled ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.VSub_DollarName '$func_relative_path_tlibdir'> pattern: (pat.Words words: [ {($ Id.VSub_DollarName func_relative_path_tlibdir) <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(DQ ($ Id.VSub_DollarName func_relative_path_tlibdir))} {(SQ )} {(DQ ($ Id.VSub_DollarName func_relative_path_tbindir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> name: func_relative_path_tcancelled ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName func_relative_path_result) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: {<.>} ) ] redirects: [] ) ] spids: [5047 5058] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {($ Id.VSub_DollarName func_relative_path_tlibdir)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_tlibdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_tlibdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_tlibdir='> name: func_relative_path_tlibdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName func_relative_path_tlibdir) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: {<'../'> ($ Id.VSub_DollarName func_relative_path_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_tcancelled='> name: func_relative_path_tcancelled ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_relative_path_tbindir)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [5087 5098] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: {<'../'> ($ Id.VSub_DollarName func_relative_path_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <'/'>)} {(DQ ($ Id.VSub_DollarName func_relative_path_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'/'>)} {(SQ <'/'>)} {(DQ ($ Id.VSub_DollarName func_relative_path_tcancelled))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName func_stripname_result))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_relative_path_result>} {(DQ <'/'> ($ Id.VSub_DollarName func_stripname_result))} ] redirects: [] do_fork: T ) ] spids: [5172 5183] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName func_relative_path_result))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'./'>)} {(SQ )} {(DQ ($ Id.VSub_DollarName func_relative_path_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] spids: [5204 5215] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName func_relative_path_result))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_relative_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_relative_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_relative_path_result='> name: func_relative_path_result ) op: assign_op.Equal rhs: {<.>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_quote_for_eval> name: func_quote_for_eval body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_quote_for_eval_unquoted_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_quote_for_eval_unquoted_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_quote_for_eval_unquoted_result='> name: func_quote_for_eval_unquoted_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_quote_for_eval_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_quote_for_eval_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_quote_for_eval_result='> name: func_quote_for_eval_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<-lt>} {($ Id.VSub_Pound '#')}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_unquoted_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_unquoted_arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_unquoted_arg='> name: _G_unquoted_arg ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} {(SQ <'%s\\n'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_quote_subst))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_unquoted_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_unquoted_arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_unquoted_arg='> name: _G_unquoted_arg ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName func_quote_for_eval_unquoted_result) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_quote_for_eval_unquoted_result>} {(DQ <' '> ($ Id.VSub_DollarName _G_unquoted_arg))} ] redirects: [] do_fork: T ) ] spids: [5378 5389] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_quote_for_eval_unquoted_result>} {(DQ ($ Id.VSub_DollarName _G_unquoted_arg))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _G_unquoted_arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\['> ch: '[' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'> ch:'~') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\#'> ch: '#' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'> ch:'^') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\&'> ch: '&' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\('> ch: '(' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'> ch:')') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\{'> ch: '{' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'> ch:'}') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\|'> ch: '|' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'> ch:';') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\<'> ch: '<' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'> ch:'>') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\?'> ch: '?' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'> ch:'\t') <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {(DQ )} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_quoted_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_quoted_arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_quoted_arg='> name: _G_quoted_arg ) op: assign_op.Equal rhs: { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName _G_unquoted_arg) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_quoted_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_quoted_arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_G_quoted_arg='> name: _G_quoted_arg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_unquoted_arg)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_quote_for_eval_result>} {(DQ <' '> ($ Id.VSub_DollarName _G_quoted_arg))} ] redirects: [] do_fork: T ) ] spids: [5501 5512] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_quote_for_eval_result>} {(DQ ($ Id.VSub_DollarName _G_quoted_arg))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_quote_for_expand> name: func_quote_for_expand body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_arg='> name:_G_arg) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ ($ Id.VSub_DollarName sed_double_quote_subst))} {<-e>} {(DQ ($ Id.VSub_DollarName sed_double_backslash))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_arg='> name:_G_arg) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _G_arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\['> ch: '[' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'> ch:'~') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\#'> ch: '#' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'> ch:'^') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\&'> ch: '&' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\('> ch: '(' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'> ch:')') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\{'> ch: '{' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'> ch:'}') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\|'> ch: '|' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'> ch:';') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\<'> ch: '<' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'> ch:'>') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\?'> ch: '?' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'> ch:'\t') <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {(DQ )} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_arg='> name:_G_arg) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName _G_arg) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_quote_for_expand_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_quote_for_expand_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_quote_for_expand_result='> name: func_quote_for_expand_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _G_arg)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<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'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [5732 5745] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_stripname> name: func_stripname body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 2)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <.> pattern: (pat.Words words:[{<.> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_stripname_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_stripname_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_stripname_result='> name: func_stripname_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 3))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ <'s%^'> ($ Id.VSub_Number 1) <'%%'>)} {<-e>} { (DQ <'s%'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) ($ Id.VSub_Number 2) <Id.Lit_Dollar '$'> <'%%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_stripname_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_stripname_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_stripname_result='> name: func_stripname_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 3))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ <'s%^'> ($ Id.VSub_Number 1) <'%%'>)} {<-e>} { (DQ <'s%'> ($ Id.VSub_Number 2) <Id.Lit_Dollar '$'> <'%%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_show_eval> name: func_show_eval body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_cmd='> name:_G_cmd) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_fail_exp='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_fail_exp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_fail_exp='> name:_G_fail_exp) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(SQ <':'>)}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_quote_for_expand> more_env: [] words: [{<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName _G_cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'func_notquiet '> ($ Id.VSub_DollarName func_quote_for_expand_result))} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _G_cmd))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_status='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_status='> name:_G_status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName _G_status))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'(exit '> ($ Id.VSub_DollarName _G_status) <'); '> ($ Id.VSub_DollarName _G_fail_exp) ) } ] redirects: [] do_fork: T ) ] spids: [5954 5967] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_show_eval_locale> name: func_show_eval_locale body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_cmd='> name:_G_cmd) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_fail_exp='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_fail_exp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_fail_exp='> name:_G_fail_exp) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(SQ <':'>)}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_quiet'> more_env: [] words: [{($ Id.VSub_DollarName opt_quiet)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_quote_for_expand> more_env: [] words: [{<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName _G_cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'func_echo '> ($ Id.VSub_DollarName func_quote_for_expand_result))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName _G_user_locale) <'\n'> <'\t '> ($ Id.VSub_DollarName _G_cmd) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_status='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_status='> name:_G_status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _G_safe_locale))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName _G_status))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'(exit '> ($ Id.VSub_DollarName _G_status) <'); '> ($ Id.VSub_DollarName _G_fail_exp) ) } ] redirects: [] do_fork: T ) ] spids: [6085 6098] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_tr_sh> name: func_tr_sh body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<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 '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_tr_sh_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_tr_sh_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_tr_sh_result='> name: func_tr_sh_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s/^\\([0-9]\\)/_\\1/'>)} {<-e>} {(SQ <'s/[^a-zA-Z0-9_]/_/g'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_tr_sh_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_tr_sh_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_tr_sh_result='> name: func_tr_sh_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_verbose> name: func_verbose body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_verbose'> more_env: [] words: [{($ Id.VSub_DollarName opt_verbose)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_echo> more_env: [] words: [{<func_echo>} {(DQ ($ Id.VSub_Star '*'))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_warn_and_continue> name: func_warn_and_continue body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$require_term_colors'> more_env: [] words: [{($ Id.VSub_DollarName require_term_colors)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_echo_infix_1> more_env: [] 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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_warning> name: func_warning body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName warning_categories) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number 1) <' '>) <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_internal_error> more_env: [] words: [ {<func_internal_error>} {(DQ <'invalid warning category \''> ($ Id.VSub_Number 1) <'\''>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_category='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_category='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_category='> name:_G_category) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName opt_warning_types) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName _G_category) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$warning_func'> more_env: [] words: [ {($ Id.VSub_DollarName warning_func)} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_sort_ver> name: func_sort_ver body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} {(SQ <'%s\\n%s\\n'>)} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_Number 2))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [ {<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>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_lt_ver> name: func_lt_ver body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <func_sort_ver> more_env: [] words: [ {<func_sort_ver>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_Number 2))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<1q>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'scriptversion='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'scriptversion='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'scriptversion='> name:scriptversion) op: assign_op.Equal rhs: {<2014-01-07.03>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'usage='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'usage='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'usage='> name:usage) op: assign_op.Equal rhs: {(SQ <'$progpath [OPTION]...'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'usage_message='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'usage_message='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'usage_message='> 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'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'long_help_message='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'long_help_message='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'long_help_message='> 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'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fatal_help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fatal_help='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fatal_help='> name:fatal_help) op: assign_op.Equal rhs: { (DQ <'Try \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progname --help\' for more information.'> ) } ) ] redirects: [] ) (command.ShFunction name_tok: <func_hookable> name: func_hookable body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<hookable_fns>} {(DQ <' '> ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_add_hook> name: func_add_hook body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName hookable_fns) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number 1) <' '>) <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'\''> ($ Id.VSub_Number 1) <'\' does not accept hook functions.'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {<func_append>} {(${ Id.VSub_Number 1) <_hooks>} {(SQ <'" $2"'>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_remove_hook> name: func_remove_hook body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(${ Id.VSub_Number 1) <Id.Lit_VarLike '_hooks='> (SQ <'`$ECHO "\\$'>) ($ Id.VSub_Number 1) (SQ <'_hooks" |$SED "s| '>) ($ Id.VSub_Number 2) (SQ <'||"`'>) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_run_hooks> name: func_run_hooks body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName hookable_fns) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number 1) <' '>) <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'\''> ($ Id.VSub_Number 1) <'\' does not support hook funcions.n'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike '_G_hook_fns='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_Number 1) <_hooks> } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_hook] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_hook_fns)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {($ Id.VSub_DollarName _G_hook)} {(SQ <'"$@"'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike '_G_hook_result='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) (${ Id.VSub_Name _G_hook) <_result> } ] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName _G_hook_result))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_run_hooks_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_run_hooks_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_run_hooks_result='> name: func_run_hooks_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_hookable> more_env: [] words: [{<func_hookable>} {<func_options>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <func_options> name: func_options body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_options_prep> more_env: [] words: [ {<func_options_prep>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<func_parse_options>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name func_options_prep_result> var_name: func_options_prep_result suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_DollarName func_options_prep_result))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<func_validate_options>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name func_parse_options_result> var_name: func_parse_options_result suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_DollarName func_parse_options_result))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<func_run_hooks>} {<func_options>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name func_validate_options_result> var_name: func_validate_options_result suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_DollarName func_validate_options_result))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_options_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_options_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_options_result='> name: func_options_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_run_hooks_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_hookable> more_env: [] words: [{<func_hookable>} {<func_options_prep>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <func_options_prep> name: func_options_prep body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_verbose='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_verbose='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_verbose='> name:opt_verbose) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning_types='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning_types='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_warning_types='> name: opt_warning_types ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_run_hooks> more_env: [] words: [ {<func_run_hooks>} {<func_options_prep>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_options_prep_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_options_prep_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_options_prep_result='> name: func_options_prep_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_run_hooks_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_hookable> more_env: [] words: [{<func_hookable>} {<func_parse_options>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <func_parse_options> name: func_parse_options body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_parse_options_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_parse_options_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_parse_options_result='> name: func_parse_options_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_Pound '#')} {<-gt>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_run_hooks> more_env: [] words: [ {<func_run_hooks>} {<func_parse_options>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName func_run_hooks_result))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_Pound '#')} {<-gt>} {<0>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_opt='> name:_G_opt) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _G_opt)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <--debug> pattern: (pat.Words words:[{<--debug>} {<-x>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'debug_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'debug_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'debug_cmd='> name: debug_cmd ) op: assign_op.Equal rhs: {(SQ <'set -x'>)} ) ] redirects: [] ) (command.Simple blame_tok: <func_echo> more_env: [] words: [{<func_echo>} {(DQ <'enabling shell trace mode'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--no-warnings> pattern: (pat.Words words: [{<--no-warnings>} {<--no-warning>} {<--no-warn>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--warnings>} {<none>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--warnings> pattern: (pat.Words words:[{<--warnings>} {<--warning>} {<-W>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_Pound '#')} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_missing_arg> more_env: [] words: [{<func_missing_arg>} {($ Id.VSub_DollarName _G_opt)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName warning_categories) <' '> ($ Id.VSub_Number 1) ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_Number 1) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append_uniq> more_env: [] words: [ {<func_append_uniq>} {<opt_warning_types>} {(DQ <' '> ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <all>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning_types='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning_types='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_warning_types='> name: opt_warning_types ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName warning_categories)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <none>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning_types='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning_types='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_warning_types='> name: opt_warning_types ) op: assign_op.Equal rhs: {<none>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'warning_func='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'warning_func='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'warning_func='> name: warning_func ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <error>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning_types='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning_types='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_warning_types='> name: opt_warning_types ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName warning_categories)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'warning_func='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'warning_func='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'warning_func='> name: warning_func ) op: assign_op.Equal rhs: {<func_fatal_error>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'unsupported warning category: \''> ($ Id.VSub_Number 1) <'\''> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--verbose> pattern: (pat.Words words:[{<--verbose>} {<-v>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_verbose='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_verbose='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_verbose='> name: opt_verbose ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--version> pattern: (pat.Words words:[{<--version>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_version> more_env: [] words: [{<func_version>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words: [ {<-> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\?'> ch: '?' ) } {<-h>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_usage> more_env: [] words: [{<func_usage>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--help> pattern: (pat.Words words:[{<--help>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_help> more_env: [] words: [{<func_help>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--> pattern: (pat.Words words: [{<--> <Id.Lit_Star '*'> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_split_equals> more_env: [] words: [{<func_split_equals>} {(DQ ($ Id.VSub_DollarName _G_opt))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName func_split_equals_lhs))} {(DQ ($ Id.VSub_DollarName func_split_equals_rhs))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-W> pattern: (pat.Words words:[{<-W> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_split_short_opt> more_env: [] words: [{<func_split_short_opt>} {(DQ ($ Id.VSub_DollarName _G_opt))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName func_split_short_opt_name))} {(DQ ($ Id.VSub_DollarName func_split_short_opt_arg))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words: [ {<-> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\?'> ch: '?' ) <Id.Lit_Star '*'> } {<-h> <Id.Lit_Star '*'>} {<-v> <Id.Lit_Star '*'>} {<-x> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_split_short_opt> more_env: [] words: [{<func_split_short_opt>} {(DQ ($ Id.VSub_DollarName _G_opt))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName func_split_short_opt_name))} {(DQ <-> ($ Id.VSub_DollarName func_split_short_opt_arg))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--> pattern: (pat.Words words:[{<-->}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'unrecognised option: \''> ($ Id.VSub_DollarName _G_opt) <'\''>) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName _G_opt))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_parse_options_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_parse_options_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_parse_options_result='> name: func_parse_options_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_hookable> more_env: [] words: [{<func_hookable>} {<func_validate_options>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <func_validate_options> name: func_validate_options body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName opt_warning_types))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning_types='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning_types='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_warning_types='> name: opt_warning_types ) op: assign_op.Equal rhs: {(DQ <' '> ($ Id.VSub_DollarName warning_categories))} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_run_hooks> more_env: [] words: [ {<func_run_hooks>} {<func_validate_options>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$exit_cmd'> more_env: [] words: [{($ Id.VSub_DollarName exit_cmd)} {($ Id.VSub_DollarName EXIT_FAILURE)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_validate_options_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_validate_options_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_validate_options_result='> name: func_validate_options_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_run_hooks_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_fatal_help> name: func_fatal_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (DQ <'Usage: '> ($ Id.VSub_DollarName usage)) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (DQ ($ Id.VSub_DollarName fatal_help)) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_help> name: func_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_usage_message> more_env: [] words: [{<func_usage_message>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName long_help_message))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_missing_arg> name: func_missing_arg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [{<func_error>} {(DQ <'Missing argument for \''> ($ Id.VSub_Number 1) <'\'.'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'exit_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_cmd='> name:exit_cmd) op: assign_op.Equal rhs: {<Id.ControlFlow_Exit exit>} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))}] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'x=a/b/c;\n'> <' test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"'>)} ] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] ) (command.ShAssignment left: <Id.Lit_VarLike '_G_HAVE_XSI_OPS='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_HAVE_XSI_OPS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_HAVE_XSI_OPS='> name:_G_HAVE_XSI_OPS) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<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'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [8504 8516] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_split_equals> name: func_split_equals body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_split_equals_lhs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_split_equals_lhs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_split_equals_lhs='> name: func_split_equals_lhs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.Lit_Colon ':'>} {(SQ <'x\\([^=]*\\)'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_split_equals_rhs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_split_equals_rhs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_split_equals_rhs='> name: func_split_equals_rhs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <x> ($ Id.VSub_DollarName func_split_equals_lhs))} {<Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_split_equals_rhs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_split_equals_rhs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_split_equals_rhs='> name: func_split_equals_rhs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.Lit_Colon ':'>} {(SQ <'x[^=]*=\\(.*\\)$'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<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'> <' }'> ) } ] redirects: [] do_fork: T ) ] spids: [8645 8657] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_split_short_opt> name: func_split_short_opt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_split_short_opt_name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_split_short_opt_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_split_short_opt_name='> name: func_split_short_opt_name ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.Lit_Colon ':'>} {(SQ <'x-\\(.\\)'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_split_short_opt_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_split_short_opt_arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_split_short_opt_arg='> name: func_split_short_opt_arg ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.Lit_Colon ':'>} {(SQ <'x-.\\(.*\\)$'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_usage> name: func_usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_usage_message> more_env: [] words: [{<func_usage_message>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'Run \''> ($ Id.VSub_DollarName progname) <' --help |'> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PAGER> var_name: PAGER suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<more>}) right: <Id.Right_DollarBrace '}'> ) <'\' for full usage'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_usage_message> name: func_usage_message body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (DQ <'Usage: '> ($ Id.VSub_DollarName usage)) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <ECHO>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (DQ ($ Id.VSub_DollarName usage_message)) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_version> name: func_version body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} {(SQ <'%s\\n'>)} {(DQ ($ Id.VSub_DollarName progname) <' '> ($ Id.VSub_DollarName scriptversion))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'scriptversion='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'scriptversion='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'scriptversion='> name:scriptversion) op: assign_op.Equal rhs: {(SQ <'(GNU libtool) 2.4.6'>)} ) ] redirects: [] ) (command.ShFunction name_tok: <func_echo> name: func_echo body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_G_message='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_message='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_message='> name:_G_message) op: assign_op.Equal rhs: {($ Id.VSub_Star '*')} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_echo_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_echo_IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'func_echo_IFS='> name:func_echo_IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nl)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [_G_line] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName _G_message)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_echo_IFS)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName progname) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name opt_mode> var_name: opt_mode suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {<': '> ($ Id.VSub_DollarName opt_mode)} ) right: <Id.Right_DollarBrace '}'> ) <': '> ($ Id.VSub_DollarName _G_line) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_echo_IFS)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_warning> name: func_warning body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$warning_func'> more_env: [] words: [ {($ Id.VSub_DollarName warning_func)} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'usage='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'usage='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'usage='> name:usage) op: assign_op.Equal rhs: {(SQ <'$progpath [OPTION]... [MODE-ARG]...'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'usage_message='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'usage_message='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'usage_message='> 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'> ) } ) ] redirects: [] ) (command.ShFunction name_tok: <func_help> name: func_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_usage_message> more_env: [] words: [{<func_usage_message>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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: '> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <Id.VSub_DollarName '$AUTOMAKE'> more_env: [] words: [{($ Id.VSub_DollarName AUTOMAKE)} {<--version>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<1q>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) <'\n'> <' autoconf: '> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <Id.VSub_DollarName '$AUTOCONF'> more_env: [] words: [{($ Id.VSub_DollarName AUTOCONF)} {<--version>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<1q>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) <'\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/>.'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'lo2o='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lo2o='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lo2o='> name:lo2o) op: assign_op.Equal rhs: {<'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <.lo> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'/.'> ($ Id.VSub_DollarName objext) <'/'> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o2lo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o2lo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o2lo='> name:o2lo) op: assign_op.Equal rhs: {<'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <.> ($ Id.VSub_DollarName objext) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'/.lo/'> } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName _G_HAVE_XSI_OPS))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<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'> <' }'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'func_xform ()\n'> <' {\n'> <' func_xform_result=${1%.*}.lo\n'> <' }'>)} ] redirects: [] do_fork: T ) ] spids: [9290 9303] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShFunction name_tok: <func_lo2o> name: func_lo2o body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_lo2o_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_lo2o_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_lo2o_result='> name: func_lo2o_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName lo2o))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_xform> name: func_xform body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_xform_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_xform_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_xform_result='> name: func_xform_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(SQ <'s|\\.[^.]*$|.lo|'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_fatal_configuration> name: func_fatal_configuration body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func__fatal_error> more_env: [] words: [ {<func__fatal_error>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } { (DQ <'See the '> ($ Id.VSub_DollarName PACKAGE) <' documentation for more information.'> ) } {(DQ <'Fatal configuration error.'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_config> name: func_config body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 're_begincf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 're_begincf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 're_begincf='> name:re_begincf) op: assign_op.Equal rhs: {(SQ <'^# ### BEGIN LIBTOOL'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 're_endcf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 're_endcf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 're_endcf='> name:re_endcf) op: assign_op.Equal rhs: {(SQ <'^# ### END LIBTOOL'>)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 '\\$'> ch:'$') <d> ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName progpath))} ) ] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [tagname] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName taglist)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 '\\$'> ch:'$') <'/,/'> ($ Id.VSub_DollarName re_endcf) <' TAG CONFIG: '> ($ Id.VSub_DollarName tagname) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'/p'> ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName progpath))} ) ] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_features> name: func_features body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'host: '> ($ Id.VSub_DollarName host))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'enable shared libraries'>)}] redirects: [] do_fork: T ) ] spids: [9602 9615] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'disable shared libraries'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'enable static libraries'>)}] redirects: [] do_fork: T ) ] spids: [9638 9651] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'disable static libraries'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_enable_tag> name: func_enable_tag body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'tagname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tagname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tagname='> name:tagname) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 're_begincf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 're_begincf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 're_begincf='> name:re_begincf) op: assign_op.Equal rhs: { (DQ <'^# ### BEGIN LIBTOOL TAG CONFIG: '> ($ Id.VSub_DollarName tagname) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 're_endcf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 're_endcf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 're_endcf='> name:re_endcf) op: assign_op.Equal rhs: { (DQ <'^# ### END LIBTOOL TAG CONFIG: '> ($ Id.VSub_DollarName tagname) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_extractcf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_extractcf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_extractcf='> name:sed_extractcf) op: assign_op.Equal rhs: {<'/'> ($ Id.VSub_DollarName re_begincf) <'/'> <Id.Lit_Comma ','> <'/'> ($ Id.VSub_DollarName re_endcf) <'/p'> } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName tagname)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <-_A-Za-z0-9> <Id.Lit_Comma ','> <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'invalid tag name: '> ($ Id.VSub_DollarName tagname))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName tagname)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <CC> pattern: (pat.Words words:[{<CC>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] 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 _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'taglist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'taglist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'taglist='> name: taglist ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName taglist) <' '> ($ Id.VSub_DollarName tagname) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'extractedcf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extractedcf='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'extractedcf='> name: extractedcf ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName extractedcf))}] redirects: [] do_fork: T ) ] spids: [9804 9823] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'ignoring unknown tag '> ($ Id.VSub_DollarName tagname))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_check_version_match> name: func_check_version_match body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName package_revision))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName macro_revision))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName VERSION))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName macro_version))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName macro_version))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [9942 9958] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_MISMATCH)} ) ] spids: [9923 9939] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <libtool_options_prep> name: libtool_options_prep body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_mode'> more_env: [] words: [{($ Id.VSub_DollarName debug_mode)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_config='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_config='> name:opt_config) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_dlopen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_dlopen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_dlopen='> name:opt_dlopen) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_dry_run='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_dry_run='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_dry_run='> name:opt_dry_run) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_help='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_help='> name:opt_help) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_mode='> name:opt_mode) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_preserve_dup_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_preserve_dup_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_preserve_dup_deps='> name: opt_preserve_dup_deps ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_quiet='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_quiet='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_quiet='> name:opt_quiet) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'nonopt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nonopt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nonopt='> name:nonopt) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'preserve_args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'preserve_args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'preserve_args='> name:preserve_args) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <clean> pattern: (pat.Words words:[{<clean>} {<clea>} {<cle>} {<cl>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<clean>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <compile> pattern: (pat.Words words: [{<compile>} {<compil>} {<compi>} {<comp>} {<com>} {<co>} {<c>}] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<compile>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <execute> pattern: (pat.Words words: [{<execute>} {<execut>} {<execu>} {<exec>} {<exe>} {<ex>} {<e>}] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<execute>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <finish> pattern: (pat.Words words: [{<finish>} {<finis>} {<fini>} {<fin>} {<Id.KW_Fi fi>} {<f>}] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<finish>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <install> pattern: (pat.Words words: [{<install>} {<instal>} {<insta>} {<inst>} {<ins>} {<Id.KW_In in>} {<i>}] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<install>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <link> pattern: (pat.Words words:[{<link>} {<lin>} {<li>} {<l>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<link>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <uninstall> pattern: (pat.Words words: [ {<uninstall>} {<uninstal>} {<uninsta>} {<uninst>} {<unins>} {<unin>} {<uni>} {<un>} {<u>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<uninstall>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_options_prep_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_options_prep_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libtool_options_prep_result='> name: libtool_options_prep_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_add_hook> more_env: [] words: [{<func_add_hook>} {<func_options_prep>} {<libtool_options_prep>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <libtool_parse_options> name: libtool_parse_options body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_Pound '#')} {<-gt>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_G_opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_G_opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_G_opt='> name:_G_opt) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _G_opt)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <--dry-run> pattern: (pat.Words words:[{<--dry-run>} {<--dryrun>} {<-n>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_dry_run='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_dry_run='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_dry_run='> name: opt_dry_run ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--config> pattern: (pat.Words words:[{<--config>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_config> more_env: [] words: [{<func_config>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--dlopen> pattern: (pat.Words words:[{<--dlopen>} {<-dlopen>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_dlopen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_dlopen='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_dlopen='> name: opt_dlopen ) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name opt_dlopen> var_name: opt_dlopen suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {($ Id.VSub_DollarName opt_dlopen) <'\n'>} ) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_Number 1) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--preserve-dup-deps> pattern: (pat.Words words:[{<--preserve-dup-deps>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_preserve_dup_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_preserve_dup_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_preserve_dup_deps='> name: opt_preserve_dup_deps ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--features> pattern: (pat.Words words:[{<--features>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_features> more_env: [] words: [{<func_features>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--finish> pattern: (pat.Words words:[{<--finish>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {<--mode>} {<finish>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--help> pattern: (pat.Words words:[{<--help>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_help='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_help='> name: opt_help ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--help-all> pattern: (pat.Words words:[{<--help-all>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_help='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_help='> name: opt_help ) op: assign_op.Equal rhs: {(SQ <': help-all'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--mode> pattern: (pat.Words words:[{<--mode>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_Pound '#')} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_missing_arg> more_env: [] words: [{<func_missing_arg>} {($ Id.VSub_DollarName _G_opt)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_mode='> name: opt_mode ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <clean> pattern: (pat.Words words: [ {<clean>} {<compile>} {<execute>} {<finish>} {<install>} {<link>} {<relink>} {<uninstall>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'invalid argument for '> ($ Id.VSub_DollarName _G_opt))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'exit_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'exit_cmd='> name: exit_cmd ) op: assign_op.Equal rhs: {<Id.ControlFlow_Exit exit>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--no-silent> pattern: (pat.Words words:[{<--no-silent>} {<--no-quiet>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_quiet='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_quiet='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_quiet='> name: opt_quiet ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName _G_opt))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--no-warnings> pattern: (pat.Words words: [{<--no-warnings>} {<--no-warning>} {<--no-warn>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_warning='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_warning='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_warning='> name: opt_warning ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName _G_opt))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--no-verbose> pattern: (pat.Words words:[{<--no-verbose>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_verbose='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_verbose='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_verbose='> name: opt_verbose ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName _G_opt))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--silent> pattern: (pat.Words words:[{<--silent>} {<--quiet>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_quiet='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_quiet='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_quiet='> name: opt_quiet ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_verbose='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_verbose='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_verbose='> name: opt_verbose ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName _G_opt))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--tag> pattern: (pat.Words words:[{<--tag>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_Pound '#')} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_missing_arg> more_env: [] words: [{<func_missing_arg>} {($ Id.VSub_DollarName _G_opt)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_tag='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_tag='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_tag='> name: opt_tag ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName _G_opt) <' '> ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_enable_tag> more_env: [] words: [{<func_enable_tag>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--verbose> pattern: (pat.Words words:[{<--verbose>} {<-v>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_quiet='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_quiet='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_quiet='> name: opt_quiet ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_verbose='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_verbose='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_verbose='> name: opt_verbose ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<preserve_args>} {(DQ <' '> ($ Id.VSub_DollarName _G_opt))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName _G_opt))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_parse_options_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_parse_options_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libtool_parse_options_result='> name: libtool_parse_options_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_add_hook> more_env: [] words: [{<func_add_hook>} {<func_parse_options>} {<libtool_parse_options>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <libtool_validate_options> name: libtool_validate_options body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<-lt>} {($ Id.VSub_Pound '#')}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'nonopt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nonopt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nonopt='> name:nonopt) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [11016 11027] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName debug_cmd))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<preserve_args>} {(DQ <' --debug'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<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 '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_duplicate_compiler_generated_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_duplicate_compiler_generated_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_duplicate_compiler_generated_deps='> name: opt_duplicate_compiler_generated_deps ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_duplicate_compiler_generated_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_duplicate_compiler_generated_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_duplicate_compiler_generated_deps='> name: opt_duplicate_compiler_generated_deps ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName opt_preserve_dup_deps)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_help'> more_env: [] words: [{($ Id.VSub_DollarName opt_help)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_check_version_match> more_env: [] words: [{<func_check_version_match>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'not configured to build any kind of library'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'std_shrext='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName shrext_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName opt_dlopen))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<execute>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [{<func_error>} {(DQ <'unrecognized option \'-dlopen\''>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] 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 keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] spids: [11214 11238] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'generic_help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'generic_help='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'generic_help='> name: generic_help ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName help)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'help='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'help='> name:help) op: assign_op.Equal rhs: { (DQ <'Try \''> ($ Id.VSub_DollarName progname) <' --help --mode='> ($ Id.VSub_DollarName opt_mode) <'\' for more information.'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_validate_options_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_validate_options_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libtool_validate_options_result='> name: libtool_validate_options_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_add_hook> more_env: [] words: [{<func_add_hook>} {<func_validate_options>} {<libtool_validate_options>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_options> more_env: [] words: [ {<func_options>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName func_options_result))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] ) (command.ShAssignment left: <Id.Lit_VarLike 'magic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'magic='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'magic='> name:magic) op: assign_op.Equal rhs: {(SQ <'%%%MAGIC variable%%%'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'magic_exe='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'magic_exe='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'magic_exe='> name:magic_exe) op: assign_op.Equal rhs: {(SQ <'%%%MAGIC EXE variable%%%'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'extracted_archives='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extracted_archives='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'extracted_archives='> name:extracted_archives) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'extracted_serial='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extracted_serial='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'extracted_serial='> name:extracted_serial) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exec_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exec_cmd='> name:exec_cmd) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShFunction name_tok: <func_fallback_echo> name: func_fallback_echo body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_generated_by_libtool_p> name: func_generated_by_libtool_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] 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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_lalib_p> name: func_lalib_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 ) (command.Simple blame_tok: <func_generated_by_libtool_p> more_env: [] words: [{<func_generated_by_libtool_p>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_lalib_unsafe_p> name: func_lalib_unsafe_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'lalib_p='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lalib_p='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lalib_p='> name:lalib_p) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-r>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <exec> more_env: [] 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 ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [lalib_p_l] iterable: (for_iter.Words words:[{<1>} {<2>} {<3>} {<4>}]) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<lalib_p_line>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName lalib_p_line)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_EscapedChar '\\#'> pattern: (pat.Words words: [ { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\#'> ch: '#' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Generated> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <by> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Id.Lit_Star '*'> ($ Id.VSub_DollarName PACKAGE) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'lalib_p='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lalib_p='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lalib_p='> name: lalib_p ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <exec> more_env: [] 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] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName lalib_p))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_ltwrapper_script_p> name: func_ltwrapper_script_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$lt_truncate_bin'> more_env: [] 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 ) (command.Simple blame_tok: <func_generated_by_libtool_p> more_env: [] words: [{<func_generated_by_libtool_p>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_ltwrapper_executable_p> name: func_ltwrapper_executable_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_ltwrapper_exec_suffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_ltwrapper_exec_suffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_ltwrapper_exec_suffix='> name: func_ltwrapper_exec_suffix ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.exe>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_ltwrapper_exec_suffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_ltwrapper_exec_suffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_ltwrapper_exec_suffix='> name: func_ltwrapper_exec_suffix ) op: assign_op.Equal rhs: {<.exe>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] 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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_ltwrapper_scriptname> name: func_ltwrapper_scriptname body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_dirname_and_basename> more_env: [] words: [{<func_dirname_and_basename>} {(DQ ($ Id.VSub_Number 1))} {(DQ )} {(DQ <.>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName func_basename_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_ltwrapper_scriptname_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_ltwrapper_scriptname_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_ltwrapper_scriptname_result='> 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> } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_ltwrapper_p> name: func_ltwrapper_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <func_ltwrapper_script_p> more_env: [] words: [{<func_ltwrapper_script_p>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_ltwrapper_executable_p> more_env: [] words: [{<func_ltwrapper_executable_p>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_execute_cmds> name: func_execute_cmds body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_ifs='> name:save_ifs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(SQ <'~'>)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [cmd] iterable: (for_iter.Words words:[{($ Id.VSub_Number 1)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName nl)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmd='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName cmd) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName cmd))} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<':'>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_source> name: func_source body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(DQ <'./'> ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_resolve_sysroot> name: func_resolve_sysroot body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_resolve_sysroot_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_resolve_sysroot_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_resolve_sysroot_result='> name: func_resolve_sysroot_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName func_resolve_sysroot_result)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Equals '='> pattern: (pat.Words words:[{<Id.Lit_Equals '='> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'='>)} {(SQ )} {(DQ ($ Id.VSub_DollarName func_resolve_sysroot_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_resolve_sysroot_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_resolve_sysroot_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_resolve_sysroot_result='> name: func_resolve_sysroot_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lt_sysroot) ($ Id.VSub_DollarName func_stripname_result) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_replace_sysroot> name: func_replace_sysroot body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName lt_sysroot) <Id.Lit_Colon ':'> ($ Id.VSub_Number 1)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_QMark '?'> pattern: (pat.Words words: [ {<Id.Lit_QMark '?'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName lt_sysroot)) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(DQ ($ Id.VSub_DollarName lt_sysroot))} {(SQ )} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_replace_sysroot_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_replace_sysroot_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_replace_sysroot_result='> name: func_replace_sysroot_result ) op: assign_op.Equal rhs: {(SQ <'='>) ($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_replace_sysroot_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_replace_sysroot_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_replace_sysroot_result='> name: func_replace_sysroot_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_infer_tag> name: func_infer_tag body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName available_tags))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName tagname))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CC_quoted='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CC_quoted='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC_quoted='> name:CC_quoted) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName CC)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append_quoted> more_env: [] words: [ {<func_append_quoted>} {<CC_quoted>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CC_expanded='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CC_expanded='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CC_expanded='> name: CC_expanded ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_echo_all> more_env: [] words: [{<func_echo_all>} {($ Id.VSub_DollarName CC)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CC_quoted_expanded='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CC_quoted_expanded='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CC_quoted_expanded='> name: CC_quoted_expanded ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_echo_all> more_env: [] words: [{<func_echo_all>} {($ Id.VSub_DollarName CC_quoted)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_At '@')}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words: [ {(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 '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [z] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName available_tags)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] 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 _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CC_quoted='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CC_quoted='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CC_quoted='> name: CC_quoted ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName CC)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append_quoted> more_env: [] words: [ {<func_append_quoted>} {<CC_quoted>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CC_expanded='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CC_expanded='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CC_expanded='> name: CC_expanded ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_echo_all> more_env: [] words: [ {<func_echo_all>} {($ Id.VSub_DollarName CC)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CC_quoted_expanded='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CC_quoted_expanded='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CC_quoted_expanded='> name: CC_quoted_expanded ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_echo_all> more_env: [] words: [ {<func_echo_all>} {($ Id.VSub_DollarName CC_quoted)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_At '@') <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words: [ {(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 '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tagname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tagname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tagname='> name: tagname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName z)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [12381 12402] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName tagname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_echo> more_env: [] words: [ {<func_echo>} {(DQ <'unable to infer tagged configuration'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'specify a tag with \'--tag\''>)} ] redirects: [] do_fork: T ) ] spids: [12613 12624] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [12200 12221] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_write_libtool_object> name: func_write_libtool_object body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'write_libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'write_libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'write_libobj='> name:write_libobj) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'write_lobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'write_lobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'write_lobj='> name:write_lobj) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') ($ Id.VSub_Number 2) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') } ) ] redirects: [] ) ] spids: [12684 12697] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'write_lobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'write_lobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'write_lobj='> name:write_lobj) op: assign_op.Equal rhs: {<none>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'write_oldobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'write_oldobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'write_oldobj='> name: write_oldobj ) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') ($ Id.VSub_Number 3) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') } ) ] redirects: [] ) ] spids: [12717 12730] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'write_oldobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'write_oldobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'write_oldobj='> name:write_oldobj) op: assign_op.Equal rhs: {<none>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} {(DQ (${ Id.VSub_Name write_libobj) <T>)} {(DQ ($ Id.VSub_DollarName write_libobj))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_core_file_wine_to_w32> name: func_convert_core_file_wine_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> name: func_convert_core_file_wine_to_w32_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_tmp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_tmp='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_tmp='> name: func_convert_core_file_wine_to_w32_tmp ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <winepath> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_QMark '?'))} {<-eq>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName func_convert_core_file_wine_to_w32_tmp ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> name: func_convert_core_file_wine_to_w32_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName func_convert_core_file_wine_to_w32_tmp ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(DQ ($ Id.VSub_DollarName sed_naive_backslashify))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [12919 12942] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_file_wine_to_w32_result='> name: func_convert_core_file_wine_to_w32_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [12868 12879] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_core_path_wine_to_w32> name: func_convert_core_path_wine_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_path_wine_to_w32_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_path_wine_to_w32_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_path_wine_to_w32_result='> name: func_convert_core_path_wine_to_w32_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldIFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldIFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldIFS='> name:oldIFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [func_convert_core_path_wine_to_w32_f] iterable: (for_iter.Words words:[{($ Id.VSub_Number 1)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName oldIFS)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_core_file_wine_to_w32> more_env: [] words: [ {<func_convert_core_file_wine_to_w32>} {(DQ ($ Id.VSub_DollarName func_convert_core_path_wine_to_w32_f))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName func_convert_core_file_wine_to_w32_result ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName func_convert_core_path_wine_to_w32_result ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_path_wine_to_w32_result=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_path_wine_to_w32_result=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_path_wine_to_w32_result=' > 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 ) } ) ] redirects: [] ) ] spids: [13095 13106] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_convert_core_path_wine_to_w32_result>} { (DQ <';'> ($ Id.VSub_DollarName func_convert_core_file_wine_to_w32_result ) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [13081 13092] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName oldIFS)} ) ] redirects: [] ) ] spids: [13036 13047] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_cygpath> name: func_cygpath body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName LT_CYGPATH))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName LT_CYGPATH))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_cygpath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_cygpath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_cygpath_result='> name: func_cygpath_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$LT_CYGPATH'> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_QMark '?'))} {<-ne>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_cygpath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_cygpath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_cygpath_result='> name: func_cygpath_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [13244 13257] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [13205 13226] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_cygpath_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_cygpath_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_cygpath_result='> name: func_cygpath_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'LT_CYGPATH is empty or specifies non-existent file: \''> ($ Id.VSub_DollarName LT_CYGPATH) <'\''> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_core_msys_to_w32> name: func_convert_core_msys_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_convert_core_msys_to_w32_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_convert_core_msys_to_w32_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_convert_core_msys_to_w32_result='> name: func_convert_core_msys_to_w32_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <cmd> more_env: [] words: [{<cmd>} {<'//c'>} {<echo>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s/[ ]*$//'>)} {<-e>} {(DQ ($ Id.VSub_DollarName sed_naive_backslashify))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_check> name: func_convert_file_check body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_Number 2))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'Could not determine host file name corresponding to'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [{<func_error>} {(DQ <' \''> ($ Id.VSub_Number 1) <'\''>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'Continuing, but uninstalled executables may not work.'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] spids: [13390 13411] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_check> name: func_convert_path_check body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_Number 4))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 3))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'Could not determine the host path corresponding to'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [{<func_error>} {(DQ <' \''> ($ Id.VSub_Number 3) <'\''>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'Continuing, but uninstalled executables may not work.'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_Number 2))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lt_replace_pathsep_chars='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_replace_pathsep_chars='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_replace_pathsep_chars='> name: lt_replace_pathsep_chars ) op: assign_op.Equal rhs: { (DQ <'s|'> ($ Id.VSub_Number 1) <'|'> ($ Id.VSub_Number 2) <'|g'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_Number 3))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} { (DQ ($ Id.VSub_DollarName lt_replace_pathsep_chars) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [13533 13551] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 3)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [13478 13499] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_front_back_pathsep> name: func_convert_path_front_back_pathsep body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 4)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.VSub_Number '$1'> pattern: (pat.Words words:[{($ Id.VSub_Number 1)}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 3) ($ Id.VSub_DollarName func_to_host_path_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 4)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.VSub_Number '$2'> pattern: (pat.Words words:[{($ Id.VSub_Number 2)}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<func_to_host_path_result>} {(DQ ($ Id.VSub_Number 3))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_to_host_file> name: func_to_host_file body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$to_host_file_cmd'> more_env: [] words: [{($ Id.VSub_DollarName to_host_file_cmd)} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_to_tool_file> name: func_to_tool_file body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{<Id.Lit_Comma ','> ($ Id.VSub_Number 2) <Id.Lit_Comma ','>}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_Comma ','> (DQ ($ Id.VSub_DollarName to_tool_file_cmd)) <Id.Lit_Comma ','> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_tool_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_tool_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_tool_file_result='> name: func_to_tool_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$to_tool_file_cmd'> more_env: [] words: [{($ Id.VSub_DollarName to_tool_file_cmd)} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_tool_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_tool_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_tool_file_result='> name: func_to_tool_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_to_host_file_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_noop> name: func_convert_file_noop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_msys_to_w32> name: func_convert_file_msys_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_convert_core_msys_to_w32> more_env: [] words: [{<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_convert_core_msys_to_w32_result)} ) ] redirects: [] ) ] spids: [13868 13879] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_convert_file_check> more_env: [] words: [ {<func_convert_file_check>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_DollarName func_to_host_file_result))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_cygwin_to_w32> name: func_convert_file_cygwin_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cygpath> more_env: [] words: [{<cygpath>} {<-m>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [13938 13949] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_convert_file_check> more_env: [] words: [ {<func_convert_file_check>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_DollarName func_to_host_file_result))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_nix_to_w32> name: func_convert_file_nix_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_convert_core_file_wine_to_w32> more_env: [] words: [{<func_convert_core_file_wine_to_w32>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_convert_core_file_wine_to_w32_result)} ) ] redirects: [] ) ] spids: [14019 14030] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_convert_file_check> more_env: [] words: [ {<func_convert_file_check>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_DollarName func_to_host_file_result))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_msys_to_cygwin> name: func_convert_file_msys_to_cygwin body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_convert_core_msys_to_w32> more_env: [] words: [{<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_cygpath> more_env: [] words: [ {<func_cygpath>} {<-u>} {(DQ ($ Id.VSub_DollarName func_convert_core_msys_to_w32_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_cygpath_result)} ) ] redirects: [] ) ] spids: [14089 14100] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_convert_file_check> more_env: [] words: [ {<func_convert_file_check>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_DollarName func_to_host_file_result))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_file_nix_to_cygwin> name: func_convert_file_nix_to_cygwin body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_convert_core_file_wine_to_w32> more_env: [] words: [{<func_convert_core_file_wine_to_w32>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_cygpath> more_env: [] words: [ {<func_cygpath>} {<-u>} {(DQ ($ Id.VSub_DollarName func_convert_core_file_wine_to_w32_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_file_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_file_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_file_result='> name: func_to_host_file_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_cygpath_result)} ) ] redirects: [] ) ] spids: [14171 14182] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_convert_file_check> more_env: [] words: [ {<func_convert_file_check>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_DollarName func_to_host_file_result))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'to_host_path_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'to_host_path_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'to_host_path_cmd='> name:to_host_path_cmd) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShFunction name_tok: <func_init_to_host_path_cmd> name: func_init_to_host_path_cmd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName to_host_path_cmd))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <func_convert_file_>)} {(SQ )} {(DQ ($ Id.VSub_DollarName to_host_file_cmd))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'to_host_path_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'to_host_path_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'to_host_path_cmd='> name: to_host_path_cmd ) op: assign_op.Equal rhs: {<func_convert_path_> ($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] spids: [14311 14322] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_to_host_path> name: func_to_host_path body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_init_to_host_path_cmd> more_env: [] words: [{<func_init_to_host_path_cmd>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$to_host_path_cmd'> more_env: [] words: [{($ Id.VSub_DollarName to_host_path_cmd)} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_noop> name: func_convert_path_noop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_msys_to_w32> name: func_convert_path_msys_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> name: func_to_host_path_tmp1 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_core_msys_to_w32> more_env: [] words: [ {<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_DollarName func_to_host_path_tmp1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_convert_core_msys_to_w32_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_path_check> more_env: [] words: [ {<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))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_convert_path_front_back_pathsep> more_env: [] words: [ {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {(DQ <';'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] spids: [14439 14450] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_cygwin_to_w32> name: func_convert_path_cygwin_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> name: func_to_host_path_tmp1 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cygpath> more_env: [] words: [ {<cygpath>} {<-m>} {<-p>} {(DQ ($ Id.VSub_DollarName func_to_host_path_tmp1))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_path_check> more_env: [] words: [ {<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))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_convert_path_front_back_pathsep> more_env: [] words: [ {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {(DQ <';'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] spids: [14563 14574] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_nix_to_w32> name: func_convert_path_nix_to_w32 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> name: func_to_host_path_tmp1 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_core_path_wine_to_w32> more_env: [] words: [ {<func_convert_core_path_wine_to_w32>} {(DQ ($ Id.VSub_DollarName func_to_host_path_tmp1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_convert_core_path_wine_to_w32_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_path_check> more_env: [] words: [ {<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))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_convert_path_front_back_pathsep> more_env: [] words: [ {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {(DQ <';'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] spids: [14684 14695] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_msys_to_cygwin> name: func_convert_path_msys_to_cygwin body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> name: func_to_host_path_tmp1 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_core_msys_to_w32> more_env: [] words: [ {<func_convert_core_msys_to_w32>} {(DQ ($ Id.VSub_DollarName func_to_host_path_tmp1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_cygpath> more_env: [] words: [ {<func_cygpath>} {<-u>} {<-p>} {(DQ ($ Id.VSub_DollarName func_convert_core_msys_to_w32_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_cygpath_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_path_check> more_env: [] words: [ {<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))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_convert_path_front_back_pathsep> more_env: [] words: [ {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] spids: [14800 14811] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_convert_path_nix_to_cygwin> name: func_convert_path_nix_to_cygwin body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<Id.Lit_Colon ':'>} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_tmp1='> name: func_to_host_path_tmp1 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_core_path_wine_to_w32> more_env: [] words: [ {<func_convert_core_path_wine_to_w32>} {(DQ ($ Id.VSub_DollarName func_to_host_path_tmp1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_cygpath> more_env: [] words: [ {<func_cygpath>} {<-u>} {<-p>} {(DQ ($ Id.VSub_DollarName func_convert_core_path_wine_to_w32_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_path_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_path_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_path_result='> name: func_to_host_path_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_cygpath_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_convert_path_check> more_env: [] words: [ {<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))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_convert_path_front_back_pathsep> more_env: [] words: [ {<func_convert_path_front_back_pathsep>} {(DQ <':*'>)} {(DQ <'*:'>)} {<Id.Lit_Colon ':'>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] spids: [14926 14937] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_dll_def_p> name: func_dll_def_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_dll_def_p_tmp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_dll_def_p_tmp='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_dll_def_p_tmp='> name: func_dll_def_p_tmp ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ 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))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<DEF>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName func_dll_def_p_tmp))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_mode_compile> name: func_mode_compile body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'base_compile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base_compile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base_compile='> name:base_compile) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'srcfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'srcfile='> name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'suppress_opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suppress_opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'suppress_opt='> name:suppress_opt) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'suppress_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suppress_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'suppress_output='> name: suppress_output ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg_mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg_mode='> name:arg_mode) op: assign_op.Equal rhs: {<normal>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobj='> name:libobj) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'later='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'later='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'later='> name:later) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pie_flag='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pie_flag='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pie_flag='> name:pie_flag) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg_mode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <arg> pattern: (pat.Words words:[{<arg>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lastarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lastarg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lastarg='> name: lastarg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg_mode='> name: arg_mode ) op: assign_op.Equal rhs: {<normal>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <target> pattern: (pat.Words words:[{<target>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobj='> name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg_mode='> name: arg_mode ) op: assign_op.Equal rhs: {<normal>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <normal> pattern: (pat.Words words:[{<normal>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-o> pattern: (pat.Words words:[{<-o>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'you cannot specify \'-o\' more than once'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg_mode='> name: arg_mode ) op: assign_op.Equal rhs: {<target>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-pie> pattern: (pat.Words words:[{<-pie>} {<-fpie>} {<-fPIE>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<pie_flag>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-shared> pattern: (pat.Words words: [{<-shared>} {<-static>} {<-prefer-pic>} {<-prefer-non-pic>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<later>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-no-suppress> pattern: (pat.Words words:[{<-no-suppress>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'suppress_opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suppress_opt='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'suppress_opt='> name: suppress_opt ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Xcompiler> pattern: (pat.Words words:[{<-Xcompiler>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg_mode='> name: arg_mode ) op: assign_op.Equal rhs: {<arg>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Wc> pattern: (pat.Words words: [{<-Wc> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'-Wc,'>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'args='> name: args ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lastarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lastarg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lastarg='> name: lastarg ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {<Id.Lit_Comma ','>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName args)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append_quoted> more_env: [] words: [ {<func_append_quoted>} {<lastarg>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <' '>)} {(SQ )} {(DQ ($ Id.VSub_DollarName lastarg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'lastarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lastarg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lastarg='> name: lastarg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<base_compile>} {(DQ <' '> ($ Id.VSub_DollarName lastarg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lastarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lastarg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lastarg='> name: lastarg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName srcfile)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'srcfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'srcfile='> name: srcfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_append_quoted> more_env: [] words: [ {<func_append_quoted>} {<base_compile>} {(DQ ($ Id.VSub_DollarName lastarg))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg_mode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <arg> pattern: (pat.Words words:[{<arg>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [{<func_fatal_error>} {(DQ <'you must specify an argument for -Xcompile'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <target> pattern: (pat.Words words:[{<target>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [{<func_fatal_error>} {(DQ <'you must specify a target with \'-o\''>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName srcfile))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobj='> name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName libobj)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<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>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_xform> more_env: [] words: [{<func_xform>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobj='> name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_xform_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName libobj)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <func_lo2o> more_env: [] words: [{<func_lo2o>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'obj='> name:obj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_lo2o_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot determine name of library object from \''> ($ Id.VSub_DollarName libobj) <'\''> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_infer_tag> more_env: [] words: [{<func_infer_tag>} {($ Id.VSub_DollarName base_compile)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName later)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-shared> pattern: (pat.Words words:[{<-shared>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'cannot build a shared library'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-static> pattern: (pat.Words words:[{<-static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-prefer-pic> pattern: (pat.Words words:[{<-prefer-pic>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_mode='> name: pic_mode ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-prefer-non-pic> pattern: (pat.Words words:[{<-prefer-non-pic>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_mode='> name: pic_mode ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName libobj))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ <X> ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] words: [ {($ Id.VSub_DollarName GREP)} {(SQ <'[]~#^*{};<>?"'>) (DQ <'\''>) (SQ <'\t &()|`$[]'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'libobj name \''> ($ Id.VSub_DollarName libobj) <'\' may not contain shell special characters.'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Simple blame_tok: <func_dirname_and_basename> more_env: [] words: [{<func_dirname_and_basename>} {(DQ ($ Id.VSub_DollarName obj))} {(DQ <'/'>)} {(DQ )}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'objname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objname='> name:objname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xdir='> name:xdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lobj='> name:lobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName objname) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName base_compile))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify a compilation command'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'removelist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'removelist='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'removelist='> 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> ) } ) ] redirects: [] ) ] spids: [16066 16079] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'removelist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'removelist='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'removelist='> name:removelist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName lobj) <' '> ($ Id.VSub_DollarName libobj) <' '> (${ Id.VSub_Name libobj) <T> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <cygwin> pattern: (pat.Words words: [ {<cygwin> <Id.Lit_Star '*'>} {<mingw> <Id.Lit_Star '*'>} {<pw32> <Id.Lit_Star '*'>} {<os2> <Id.Lit_Star '*'>} {<cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pic_mode='> name:pic_mode) op: assign_op.Equal rhs: {<default>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_mode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<pass_all>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName deplibs_check_method))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pic_mode='> name:pic_mode) op: assign_op.Equal rhs: {<default>} ) ] redirects: [] ) ] spids: [16163 16189] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName compiler_c_o))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'output_obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output_obj='> name:output_obj) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName srcfile))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s%^.*/%%; s%\\.[^.]*$%%'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) <.> ($ Id.VSub_DollarName objext) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lockfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lockfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lockfile='> name:lockfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_obj) <.lock>} ) ] redirects: [] ) ] spids: [16212 16225] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'output_obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output_obj='> name:output_obj) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'need_locks='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'need_locks='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'need_locks='> name:need_locks) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lockfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lockfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lockfile='> name:lockfile) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_locks))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.WhileUntil keyword: <Id.KW_Until until> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ln> more_env: [] 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 ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_echo> more_env: [] words: [ {<func_echo>} { (DQ <'Waiting for '> ($ Id.VSub_DollarName lockfile) <' to be removed'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [16282 16295] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<warn>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_locks))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName lockfile))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** ERROR, '> ($ Id.VSub_DollarName lockfile) <' exists and contains:\n'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) <'\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.> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName removelist)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] spids: [16354 16365] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<removelist>} {(DQ <' '> ($ Id.VSub_DollarName output_obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] 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] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [{($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName removelist)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<removelist>} {(DQ <' '> ($ Id.VSub_DollarName lockfile))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <trap> more_env: [] words: [ {<trap>} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} {<1>} {<2>} {<15>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName srcfile))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'srcfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'srcfile='> name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_to_tool_file_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName srcfile))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'qsrcfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'qsrcfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'qsrcfile='> name:qsrcfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fbsd_hideous_sh_bug='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fbsd_hideous_sh_bug='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'fbsd_hideous_sh_bug='> name: fbsd_hideous_sh_bug ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName base_compile)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'command='> name: command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName base_compile) <' '> ($ Id.VSub_DollarName qsrcfile) <' '> ($ Id.VSub_DollarName pic_flag) ) } ) ] redirects: [] ) ] spids: [16528 16542] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName base_compile) <' '> ($ Id.VSub_DollarName qsrcfile) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_mkdir_p> more_env: [] words: [ {<func_mkdir_p>} {(DQ ($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName objdir))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName output_obj))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<command>} {(DQ <' -o '> ($ Id.VSub_DollarName lobj))} ] redirects: [] do_fork: T ) ] spids: [16583 16594] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_show_eval_locale> more_env: [] words: [ {<func_show_eval_locale>} {(DQ ($ Id.VSub_DollarName command))} {(SQ <'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<warn>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_locks))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <X> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName srcfile))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** ERROR, '> ($ Id.VSub_DollarName lockfile) <' contains:\n'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) <'\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.> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName removelist)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] spids: [16629 16669] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName output_obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName output_obj))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName lobj))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(SQ <'$MV "$output_obj" "$lobj"'>)} {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)} ] redirects: [] do_fork: T ) ] spids: [16727 16755] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName suppress_opt))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'suppress_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suppress_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'suppress_output='> name: suppress_output ) op: assign_op.Equal rhs: {(SQ <' >/dev/null 2>&1'>)} ) ] redirects: [] ) ] spids: [16779 16792] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [16503 16516] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'command='> name: command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName base_compile) <' '> ($ Id.VSub_DollarName qsrcfile) ($ Id.VSub_DollarName pie_flag) ) } ) ] redirects: [] ) ] spids: [16828 16842] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName base_compile) <' '> ($ Id.VSub_DollarName qsrcfile) <' '> ($ Id.VSub_DollarName pic_flag) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName compiler_c_o))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<command>} {(DQ <' -o '> ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) ] spids: [16874 16887] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<command>} {(DQ ($ Id.VSub_DollarName suppress_output))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval_locale> more_env: [] words: [ {<func_show_eval_locale>} {(DQ ($ Id.VSub_DollarName command))} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<warn>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_locks))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <X> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName srcfile))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** ERROR, '> ($ Id.VSub_DollarName lockfile) <' contains:\n'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) <'\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.> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName removelist)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] spids: [16931 16971] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName output_obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName output_obj))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(SQ <'$MV "$output_obj" "$obj"'>)} {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)} ] redirects: [] do_fork: T ) ] spids: [17029 17057] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [16812 16825] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_write_libtool_object> more_env: [] words: [ {<func_write_libtool_object>} {(DQ ($ Id.VSub_DollarName libobj))} {(DQ ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName objname))} {(DQ ($ Id.VSub_DollarName objname))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_locks))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'removelist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'removelist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'removelist='> name: removelist ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lockfile)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [{($ Id.VSub_DollarName RM)} {(DQ ($ Id.VSub_DollarName lockfile))}] redirects: [] do_fork: T ) ] spids: [17109 17123] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_help'> more_env: [] words: [{($ Id.VSub_DollarName opt_help)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<compile>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_mode_compile> more_env: [] words: [ {<func_mode_compile>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShFunction name_tok: <func_mode_help> name: func_mode_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName opt_mode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_help> more_env: [] words: [{<func_help>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <clean> pattern: (pat.Words words:[{<clean>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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.' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <compile> pattern: (pat.Words words:[{<compile>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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\'.'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <execute> pattern: (pat.Words words:[{<execute>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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.'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <finish> pattern: (pat.Words words:[{<finish>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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.' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <install> pattern: (pat.Words words:[{<install>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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).'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <link> pattern: (pat.Words words:[{<link>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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.'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <uninstall> pattern: (pat.Words words:[{<uninstall>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ 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.'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} {(DQ <'invalid operation mode \''> ($ Id.VSub_DollarName opt_mode) <'\''>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'Try \''> ($ Id.VSub_DollarName progname) <' --help\' for more information about other modes.'> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_help'> more_env: [] words: [{($ Id.VSub_DollarName opt_help)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_help))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_mode_help> more_env: [] words: [{<func_mode_help>}] redirects: [] do_fork: T ) ] spids: [17529 17542] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Pipeline children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_help> more_env: [] words: [{<func_help>} {<noexit>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [opt_mode] iterable: (for_iter.Words words: [ {<compile>} {<link>} {<execute>} {<install>} {<finish>} {<uninstall>} {<clean>} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_mode_help> more_env: [] words: [{<func_mode_help>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<-n>} {(SQ <'1p; 2,$s/^Usage:/ or: /p'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Pipeline children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_help> more_env: [] words: [{<func_help>} {<noexit>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [opt_mode] iterable: (for_iter.Words words: [ {<compile>} {<link>} {<execute>} {<install>} {<finish>} {<uninstall>} {<clean>} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_mode_help> more_env: [] words: [{<func_mode_help>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ 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:/'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] spids: [17521 17526] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_mode_execute> name: func_mode_execute body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify a COMMAND'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName opt_dlopen)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} {(DQ <'\''> ($ Id.VSub_DollarName file) <'\' is not a file'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [{<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_resolve_sysroot_result)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <func_lalib_unsafe_p> more_env: [] words: [{<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'\''> ($ Id.VSub_DollarName lib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlname='> name:dlname) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'library_names='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'library_names='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'library_names='> name: library_names ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName library_names))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName file) <'\' was not linked with \'-export-dynamic\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [17828 17839] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName file))} {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName dlname) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dir>} {(DQ <'/'> ($ Id.VSub_DollarName objdir))} ] redirects: [] do_fork: T ) ] spids: [17893 17908] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName dlname) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot find \''> ($ Id.VSub_DollarName dlname) <'\' in \''> ($ Id.VSub_DollarName dir) <'\' or \''> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName objdir) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [17924 17939] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName file))} {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\'-dlopen\' is ignored for non-libtool libraries and objects'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'absdir='> name:absdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ ($ Id.VSub_DollarName dir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName absdir))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName absdir)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'test -z '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName shlibpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <dir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] spids: [18058 18071] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName shlibpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'dir:'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_execute_magic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_execute_magic='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libtool_execute_magic='> name: libtool_execute_magic ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName magic)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-> pattern: (pat.Words words: [ {<-> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <.la>} {<Id.Lit_Star '*'> <.lo>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_ltwrapper_script_p> more_env: [] words: [ {<func_ltwrapper_script_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName program) } ) ] redirects: [] ) ] spids: [18171 18180] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_ltwrapper_executable_p> more_env: [] words: [ {<func_ltwrapper_executable_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_ltwrapper_scriptname> more_env: [] words: [ {<func_ltwrapper_scriptname>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} {(DQ ($ Id.VSub_DollarName func_ltwrapper_scriptname_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName program) } ) ] redirects: [] ) ] spids: [18200 18209] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_append_quoted> more_env: [] words: [{<func_append_quoted>} {<args>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'shlibpath_var='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'export '> ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) ] spids: [18274 18285] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName cmd) ($ Id.VSub_DollarName args))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [18262 18267] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ <'export '> ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) ] spids: [18329 18340] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lt_var] iterable: (for_iter.Words words: [{<LANG>} {<LANGUAGE>} {<LC_ALL>} {<LC_CTYPE>} {<LC_COLLATE>} {<LC_MESSAGES>}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'if test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{save_'> ($ Id.VSub_DollarName lt_var) <'+set}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' = set; then\n'> <' '> ($ Id.VSub_DollarName lt_var) <'='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exec_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exec_cmd='> name:exec_cmd) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <cmd> ($ Id.VSub_DollarName args) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<execute>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_mode_execute> more_env: [] words: [ {<func_mode_execute>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShFunction name_tok: <func_mode_finish> name: func_mode_finish body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libs='> name:libs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdirs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libdirs='> name:libdirs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'admincmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'admincmds='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'admincmds='> name:admincmds) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [opt] iterable: (for_iter.Words words: [ {(DQ ($ Id.VSub_DollarName nonopt))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName opt))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<libdirs>} {(DQ <' '> ($ Id.VSub_DollarName opt))}] redirects: [] do_fork: T ) ] spids: [18505 18516] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName opt))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_lalib_unsafe_p> more_env: [] words: [ {<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName opt))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libs>} {(DQ <' '> ($ Id.VSub_DollarName opt))} ] redirects: [] do_fork: T ) ] spids: [18544 18553] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName opt) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [18530 18541] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'invalid argument \''> ($ Id.VSub_DollarName opt) <'\''>)} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName libs))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName lt_sysroot))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'sysroot_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sysroot_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sysroot_regex='> name: sysroot_regex ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName lt_sysroot))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_make_literal_regex))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sysroot_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sysroot_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sysroot_cmd='> 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;'> ) } ) ] redirects: [] ) ] spids: [18615 18626] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'sysroot_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sysroot_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sysroot_cmd='> name: sysroot_cmd ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName libs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'removing references to '> ($ Id.VSub_DollarName lt_sysroot) <' and \'=\' prefixes from '> ($ Id.VSub_DollarName lib) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [18677 18682] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmpdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmpdir='> name:tmpdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_mktempdir> more_env: [] words: [{<func_mktempdir>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName libs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] 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 ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {<-f>} {($ Id.VSub_DollarName tmpdir) <'/tmp-la'>} {($ Id.VSub_DollarName lib)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name RM) <r>} {(DQ ($ Id.VSub_DollarName tmpdir))}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [18601 18612] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName finish_cmds) ($ Id.VSub_DollarName finish_eval) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName libdirs))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName libdirs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName finish_cmds))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName finish_cmds))} {(SQ <'admincmds="$admincmds\n'>) (DQ ($ Id.VSub_DollarName cmd)) (SQ <'"'>) } ] redirects: [] do_fork: T ) ] spids: [18831 18842] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName finish_eval))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName finish_eval) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName cmds))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<admincmds>} {(DQ <'\n'> <' '> ($ Id.VSub_DollarName cmds))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] spids: [18869 18880] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [18794 18816] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_quiet'> more_env: [] words: [{($ Id.VSub_DollarName opt_quiet)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName finish_cmds) ($ Id.VSub_DollarName finish_eval) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName libdirs))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <----------------------------------------------------------------------> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Libraries have been installed in:'>)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName libdirs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'If you ever happen to want to link against installed libraries'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'in a given directory, LIBDIR, you must either use libtool, and'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'specify the full pathname of the library, or use the \'-LLIBDIR\''>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'flag during linking and do at least one of the following:'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <' - add LIBDIR to the \''> ($ Id.VSub_DollarName shlibpath_var) <'\' environment variable'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' during execution'>)}] redirects: [] do_fork: T ) ] spids: [19035 19046] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName runpath_var))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <' - add LIBDIR to the \''> ($ Id.VSub_DollarName runpath_var) <'\' environment variable'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' during linking'>)}] redirects: [] do_fork: T ) ] spids: [19068 19079] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName hardcode_libdir_flag_spec))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libdir='> name:libdir) op: assign_op.Equal rhs: {<LIBDIR>} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'flag='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' - use the \''> ($ Id.VSub_DollarName flag) <'\' linker flag'> ) } ] redirects: [] do_fork: T ) ] spids: [19101 19112] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName admincmds))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' - have your system administrator run these commands:'> ($ Id.VSub_DollarName admincmds) ) } ] redirects: [] do_fork: T ) ] spids: [19140 19151] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<'/etc/ld.so.conf'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < ' - have your system administrator add LIBDIR to \'/etc/ld.so.conf\'' > ) } ] redirects: [] do_fork: T ) ] spids: [19165 19174] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'See any operating system documentation about shared libraries for'>)} ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <solaris2.> pattern: (pat.Words words: [ {<solaris2.> <Id.Lit_LBracket '['> <6789> <Id.Lit_RBracket ']'>} {<solaris2.1> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < 'more information, such as the ld(1), crle(1) and ld.so(8) manual' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <pages.>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < 'more information, such as the ld(1) and ld.so(8) manual pages.' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <----------------------------------------------------------------------> ) } ] redirects: [] do_fork: T ) ] spids: [18942 18964] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<finish>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_mode_finish> more_env: [] words: [ {<func_mode_finish>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShFunction name_tok: <func_mode_install> name: func_mode_install body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName SHELL))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName nonopt))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<'/bin/sh'>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName nonopt))} ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName nonopt)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <shtool> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <false> more_env: [] words: [{<false>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName nonopt))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'install_prog='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_prog='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'install_prog='> name: install_prog ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName func_quote_for_eval_result) <' '>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [19315 19371] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'install_prog='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_prog='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'install_prog='> name:install_prog) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<install_prog>} {(DQ ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'install_shared_prog='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_shared_prog='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'install_shared_prog='> name: install_shared_prog ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName install_prog)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName install_prog) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <'/'> <Id.Lit_RBracket ']'> <cp> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'install_cp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_cp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'install_cp='> name:install_cp) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'install_cp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_cp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'install_cp='> name:install_cp) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dest='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dest='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dest='> name:dest) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opts='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opts='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opts='> name:opts) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'install_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_type='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'install_type='> name:install_type) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'isdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'isdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'isdir='> name:isdir) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'stripme='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'stripme='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stripme='> name:stripme) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'no_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'no_mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'no_mode='> name:no_mode) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg2='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg2='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg2='> name:arg2) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dest))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<files>} {(DQ <' '> ($ Id.VSub_DollarName dest))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dest='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dest='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dest='> name:dest) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [19523 19534] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-d> pattern: (pat.Words words:[{<-d>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'isdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'isdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'isdir='> name:isdir) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-f> pattern: (pat.Words words:[{<-f>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$install_cp'> more_env: [] words: [{($ Id.VSub_DollarName install_cp)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] spids: [19578 19583] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-g> pattern: (pat.Words words:[{<-g>} {<-m>} {<-o>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-s> pattern: (pat.Words words:[{<-s>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'stripme='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'stripme='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'stripme='> name: stripme ) op: assign_op.Equal rhs: {(DQ <' -s'>)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName prev))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-m>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName install_override_mode ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg2='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg2='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg2='> name: arg2 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName install_override_mode)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'no_mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'no_mode='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'no_mode='> name: no_mode ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] spids: [19666 19690] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [19652 19663] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dest='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dest='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dest='> name:dest) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<install_prog>} {(DQ <' '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName arg2))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg2))}] redirects: [] do_fork: T ) ] spids: [19748 19759] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<install_shared_prog>} {(DQ <' '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName install_prog))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify an install program'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName prev))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} {(DQ <'the \''> ($ Id.VSub_DollarName prev) <'\' option requires an argument'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName install_override_mode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$no_mode'> more_env: [] words: [{($ Id.VSub_DollarName no_mode)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$install_cp'> more_env: [] words: [{($ Id.VSub_DollarName install_cp)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] spids: [19846 19851] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName install_override_mode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<install_shared_prog>} {(DQ <' -m '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [19828 19843] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName files))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName dest))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'no file or destination specified'>)}] redirects: [] do_fork: T ) ] spids: [19897 19908] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify a destination'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [19883 19894] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [{<func_stripname>} {(SQ )} {(SQ <'/'>)} {(DQ ($ Id.VSub_DollarName dest))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dest='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dest='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dest='> name:dest) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName dest))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'isdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'isdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'isdir='> name:isdir) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$isdir'> more_env: [] words: [{($ Id.VSub_DollarName isdir)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'destdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'destdir='> name:destdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dest)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'destname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'destname='> name:destname) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [19976 19981] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_dirname_and_basename> more_env: [] words: [ {<func_dirname_and_basename>} {(DQ ($ Id.VSub_DollarName dest))} {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'destdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'destdir='> name:destdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'destname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'destname='> name:destname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<dummy>} {($ Id.VSub_DollarName files)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_Pound '#'))} {<-gt>} {<1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} {(DQ <'\''> ($ Id.VSub_DollarName dest) <'\' is not a directory'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName destdir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName files)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'\''> ($ Id.VSub_DollarName destdir) <'\' must be an absolute directory name'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_install_magic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_install_magic='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libtool_install_magic='> name: libtool_install_magic ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName magic)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'staticlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'staticlibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'staticlibs='> name:staticlibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'future_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'future_libdirs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'future_libdirs='> name:future_libdirs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'current_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'current_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'current_libdirs='> name: current_libdirs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName files)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName libext)}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<staticlibs>} {(DQ <' '> ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [{<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_resolve_sysroot_result)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <func_lalib_unsafe_p> more_env: [] words: [{<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'\''> ($ Id.VSub_DollarName file) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'library_names='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'library_names='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'library_names='> name: library_names ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_library='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_library='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_library='> name: old_library ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName destdir))} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName current_libdirs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<current_libdirs>} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [20277 20294] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName future_libdirs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<future_libdirs>} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [{<func_dirname>} {(DQ ($ Id.VSub_DollarName file))} {(DQ <'/'>)} {(DQ )}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<dir>} {(DQ ($ Id.VSub_DollarName objdir))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName relink_command))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'inst_prefix_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'inst_prefix_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'inst_prefix_dir='> name: inst_prefix_dir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName destdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} { (DQ <'s%'> ($ Id.VSub_DollarName libdir) <Id.Lit_Dollar '$'> <'%%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName inst_prefix_dir))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName destdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'error: cannot install \''> ($ Id.VSub_DollarName file) <'\' to a directory not ending in '> ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName inst_prefix_dir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName relink_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ < 's%@inst_prefix_dir@%-inst-prefix-dir ' > ($ Id.VSub_DollarName inst_prefix_dir) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [20513 20524] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName relink_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ <'s%@inst_prefix_dir@%%'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'relinking \''> ($ Id.VSub_DollarName file) <'\''>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName relink_command))} {(SQ <'func_fatal_error "error: relink '>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\''> ch: '\'' ) (SQ <'$file'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') (SQ <' with the above command before installing it"'>) } ] redirects: [] do_fork: T ) ] spids: [20416 20427] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<dummy>} {($ Id.VSub_DollarName library_names)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'realname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'realname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'realname='> name: realname ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'srcname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'srcname='> name: srcname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName realname)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName relink_command))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'srcname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'srcname='> name: srcname ) op: assign_op.Equal rhs: {(${ Id.VSub_Name realname) <T>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<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 $?'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tstripme='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tstripme='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tstripme='> name: tstripme ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName stripme)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <cygwin> pattern: (pat.Words words: [ {<cygwin> <Id.Lit_Star '*'>} {<mingw> <Id.Lit_Star '*'>} {<pw32> <Id.Lit_Star '*'>} {<cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName realname)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.dll.a>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tstripme='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tstripme='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tstripme='> name: tstripme ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <os2> pattern: (pat.Words words:[{<os2> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName realname)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <_dll.a>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tstripme='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tstripme='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tstripme='> name: tstripme ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName tstripme))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName striplib))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName striplib) <' '> ($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName realname) ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [20784 20805] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_Pound '#'))} {<-gt>} {<0>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [linkname] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkname))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName realname))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ <'(cd '> ($ Id.VSub_DollarName destdir) <' && { '> ($ Id.VSub_DollarName LN_S) <' -f '> ($ Id.VSub_DollarName realname) <' '> ($ Id.VSub_DollarName linkname) <' || { '> ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName linkname) <' && '> ($ Id.VSub_DollarName LN_S) <' '> ($ Id.VSub_DollarName realname) <' '> ($ Id.VSub_DollarName linkname) <'; }; })'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [20827 20840] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib='> name: lib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName realname) } ) ] redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName postinstall_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [20628 20639] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'instname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'instname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'instname='> name: instname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir) <'/'> (${ Id.VSub_Name name) <i>} ) ] redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName install_prog) <' '> ($ Id.VSub_DollarName instname) <' '> ($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName name) ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_library))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<staticlibs>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName destname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName destname) } ) ] redirects: [] ) ] spids: [21027 21038] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName destfile) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName destfile)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_lo2o> more_env: [] words: [{<func_lo2o>} {(DQ ($ Id.VSub_DollarName destfile))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'staticdest='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'staticdest='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'staticdest='> name: staticdest ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_lo2o_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName objext)}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'staticdest='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'staticdest='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'staticdest='> name: staticdest ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destfile)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'cannot copy a libtool object to \''> ($ Id.VSub_DollarName destfile) <'\''> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName destfile))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName install_prog) <' '> ($ Id.VSub_DollarName file) <' '> ($ Id.VSub_DollarName destfile) ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_lo2o> more_env: [] words: [{<func_lo2o>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'staticobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'staticobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'staticobj='> name: staticobj ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_lo2o_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName install_prog) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'staticobj '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <staticdest> ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [21173 21186] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName destname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName destname) } ) ] redirects: [] ) ] spids: [21240 21251] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName destfile) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'stripped_ext='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'stripped_ext='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'stripped_ext='> name: stripped_ext ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.exe>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'stripped_ext='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'stripped_ext='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'stripped_ext='> name: stripped_ext ) op: assign_op.Equal rhs: {<.exe>} ) ] redirects: [] ) ] spids: [21311 21324] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_ltwrapper_executable_p> more_env: [] words: [ {<func_ltwrapper_executable_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_ltwrapper_scriptname> more_env: [] words: [ {<func_ltwrapper_scriptname>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'wrapper='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrapper='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrapper='> name: wrapper ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_ltwrapper_scriptname_result ) } ) ] redirects: [] ) ] spids: [21382 21391] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'wrapper='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrapper='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrapper='> name: wrapper ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'wrapper='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrapper='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrapper='> name: wrapper ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName file)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_ltwrapper_script_p> more_env: [] words: [ {<func_ltwrapper_script_p>} {(DQ ($ Id.VSub_DollarName wrapper))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'notinst_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'notinst_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'notinst_deplibs='> name: notinst_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName wrapper))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName generated_by_libtool_version))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'invalid libtool wrapper script \''> ($ Id.VSub_DollarName wrapper) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize='> name: finalize ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName notinst_deplibs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libdir='> name: libdir ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} {(DQ ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) ] spids: [21522 21533] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libfile='> name: libfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir) <'/'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s%^.*/%%g'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName libfile) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName lib) <'\' has not been installed in \''> ($ Id.VSub_DollarName libdir) <'\''> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize='> name: finalize ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] spids: [21568 21591] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName wrapper))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'outputname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'outputname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'outputname='> name: outputname ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName fast_install))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName relink_command) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$finalize' > more_env: [] words: [ { ($ Id.VSub_DollarName finalize ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmpdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmpdir='> name: tmpdir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_mktempdir> more_env: [] words: [{<func_mktempdir>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} { (DQ ($ Id.VSub_DollarName file) ($ Id.VSub_DollarName stripped_ext ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_basename_result ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'outputname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'outputname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'outputname=' > name: outputname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tmpdir) <'/'> ($ Id.VSub_DollarName file) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command=' > name: relink_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: < Id.VSub_DollarName '$ECHO' > more_env: [] words: [ { ($ Id.VSub_DollarName ECHO ) } { (DQ ($ Id.VSub_DollarName relink_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } { (SQ < 's%@OUTPUT@%' > ) (DQ ($ Id.VSub_DollarName outputname)) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_quiet'> more_env: [] words: [ { ($ Id.VSub_DollarName opt_quiet) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_quote_for_expand> more_env: [] words: [ {<func_quote_for_expand>} { (DQ ($ Id.VSub_DollarName relink_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'func_echo '> ($ Id.VSub_DollarName func_quote_for_expand_result ) ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName relink_command ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [21753 21762] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'error: relink \''> ($ Id.VSub_DollarName file) <'\' with the above command before installing it'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_dry_run ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name RM) <r>} { (DQ ($ Id.VSub_DollarName tmpdir ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue > ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName outputname ) } ) ] redirects: [] ) ] spids: [21663 21668] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'cannot relink \''> ($ Id.VSub_DollarName file) <'\''> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [21630 21653] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName file) ($ Id.VSub_DollarName stripped_ext) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%'> <Id.Lit_BadBackslash '\\'> <'([^/]*'> <Id.Lit_BadBackslash '\\'> <')'> <Id.Lit_Dollar '$'> <'%'> ($ Id.VSub_DollarName objdir) <'/'> <Id.Lit_BadBackslash '\\'> <'1%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [21446 21455] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName install_prog) <Id.Lit_Comma ','> ($ Id.VSub_DollarName host) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <'/usr/bin/install'> <Id.Lit_Star '*'> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName file) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName destfile) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <.exe> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <.exe> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <.exe> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destfile) <.exe>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <.exe> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName destfile))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'destfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'destfile='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'destfile='> name: destfile ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName install_prog) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'stripme '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'file '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <destfile> ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName outputname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name RM) <r>} {(DQ ($ Id.VSub_DollarName tmpdir))} ] redirects: [] do_fork: T ) ] spids: [21996 22007] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName staticlibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlib='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldlib='> name:oldlib) op: assign_op.Equal rhs: {($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName oldlib))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tool_oldlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tool_oldlib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tool_oldlib='> name: tool_oldlib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_to_tool_file_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName install_prog) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'file '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <oldlib> ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName stripme))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_striplib))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName old_striplib) <' '> ($ Id.VSub_DollarName tool_oldlib) ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [22098 22119] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName old_postinstall_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName future_libdirs))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'remember to run \''> ($ Id.VSub_DollarName progname) <' --finish'> ($ Id.VSub_DollarName future_libdirs) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName current_libdirs))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'current_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'current_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'current_libdirs='> name: current_libdirs ) op: assign_op.Equal rhs: {(DQ <' -n'> ($ Id.VSub_DollarName current_libdirs))} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'exec_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exec_cmd='> name:exec_cmd) op: assign_op.Equal rhs: {(SQ <'$SHELL "$progpath" $preserve_args --finish$current_libdirs'>)} ) ] redirects: [] ) ] spids: [22182 22193] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<install>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_mode_install> more_env: [] words: [ {<func_mode_install>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShFunction name_tok: <func_generate_dlsyms> name: func_generate_dlsyms body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'my_outputname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_outputname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_outputname='> name:my_outputname) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_originator='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_originator='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_originator='> name:my_originator) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_pic_p='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_pic_p='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_pic_p='> name:my_pic_p) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<false>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_prefix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_prefix='> name:my_prefix) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName my_originator))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(SQ <'s%[^a-zA-Z0-9]%_%g'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_dlsyms='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_dlsyms='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_dlsyms='> name:my_dlsyms) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName dlfiles) ($ Id.VSub_DollarName dlprefiles) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlself))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName NM))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName global_symbol_pipe))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_dlsyms='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_dlsyms='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_dlsyms='> name: my_dlsyms ) op: assign_op.Equal rhs: {(${ Id.VSub_Name my_outputname) <S.c>} ) ] redirects: [] ) ] spids: [22343 22364] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} {(DQ <'not configured to extract global symbols from dlpreopened files'>)} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [22315 22340] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName my_dlsyms))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName my_dlsyms)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.c>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'nlist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nlist='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nlist='> name:nlist) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_outputname) <.nm> } ) ] redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName nlist) <' '> (${ Id.VSub_Name nlist) <'S '> (${ Id.VSub_Name nlist) <T> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'creating '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'/* '> ($ Id.VSub_DollarName my_dlsyms) <' - symbol resolution table for \''> ($ Id.VSub_DollarName my_outputname) <'\' dlsym emulation. */\n'> <'/* Generated by '> ($ Id.VSub_DollarName PROGRAM) <' (GNU '> ($ Id.VSub_DollarName PACKAGE) <') '> ($ Id.VSub_DollarName VERSION) <' */\n'> <'\n'> <'#ifdef __cplusplus\n'> <'extern '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <C> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' {\n'> <'#endif\n'> <'\n'> < '#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))\n' > <'#pragma GCC diagnostic ignored '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <-Wstrict-prototypes> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <'#endif\n'> <'\n'> < '/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */\n' > <'#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE\n'> < '/* DATA imports from DLLs on WIN32 can\'t be const, because runtime\n' > <' relocations are performed -- see ld\'s documentation on pseudo-relocs. */\n'> <'# define LT_DLSYM_CONST\n'> <'#elif defined __osf__\n'> < '/* This system does not cope well with relocations in const data. */\n' > <'# define LT_DLSYM_CONST\n'> <'#else\n'> <'# define LT_DLSYM_CONST const\n'> <'#endif\n'> <'\n'> <'#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)\n'> <'\n'> <'/* External symbol declarations for the compiler. */'> ) } ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlself))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'generating symbol list for \''> ($ Id.VSub_DollarName output) <'\''> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <': @PROGRAM@ '>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'progfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'progfiles='> name: progfiles ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName objs) ($ Id.VSub_DollarName old_deplibs) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName lo2o))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [progfile] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName progfiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName progfile))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'extracting global C symbols from \''> ($ Id.VSub_DollarName func_to_tool_file_result) <'\''> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName NM) <' '> ($ Id.VSub_DollarName func_to_tool_file_result ) <' | '> ($ Id.VSub_DollarName global_symbol_pipe) <' >> \''> ($ Id.VSub_DollarName nlist) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName exclude_expsyms))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(SQ <'$MV "$nlist"T "$nlist"'>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [22664 22675] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols_regex ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(SQ <'$MV "$nlist"T "$nlist"'>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [22706 22717] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) <.exp> } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName export_symbols)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName SED) <' -n -e \'/^: @PROGRAM@ '> <Id.Lit_Dollar '$'> <'/d\' -e \'s/^.* '> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')'> <Id.Lit_Dollar '$'> <'/'> <Id.Lit_BadBackslash '\\'> <'1/p\' '> ) (SQ <'< "$nlist" > "$export_symbols"'>) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName host)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'echo EXPORTS '>) (SQ < '> "$output_objdir/$outputname.def"' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [22752 22763] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName SED) <' -e \'s/'> <Id.Lit_BadBackslash '\\'> <'([].[*^'> <Id.Lit_Dollar '$'> <']'> <Id.Lit_BadBackslash '\\'> <')/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <'1/g\' -e \'s/^/ /\' -e \'s/'> <Id.Lit_Dollar '$'> <'/'> <Id.Lit_Dollar '$'> <'/\''> ) (SQ <' < "$export_symbols" > "$output_objdir/$outputname.exp"'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(SQ <'$MV "$nlist"T "$nlist"'>)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName host)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'echo EXPORTS '>) (SQ < '> "$output_objdir/$outputname.def"' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < 'cat "$nlist" >> "$output_objdir/$outputname.def"' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [22535 22548] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dlprefile] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName dlprefiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'extracting global C symbols from \''> ($ Id.VSub_DollarName dlprefile) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName dlprefile))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_win32_import_lib_p> more_env: [] words: [ {<func_win32_import_lib_p>} { (DQ ($ Id.VSub_DollarName dlprefile) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_tr_sh> more_env: [] words: [ {<func_tr_sh>} {(DQ ($ Id.VSub_DollarName dlprefile))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'curr_lafile='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <libfile_> ($ Id.VSub_DollarName func_tr_sh_result) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefile_dlbasename='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefile_dlbasename='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > name: dlprefile_dlbasename ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName curr_lafile ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_lalib_p> more_env: [] words: [ {<func_lalib_p>} { (DQ ($ Id.VSub_DollarName curr_lafile ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlprefile_dlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefile_dlname=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlprefile_dlname=' > name: dlprefile_dlname ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <source> more_env: [] words: [ {<source>} { (DQ ($ Id.VSub_DollarName curr_lafile ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName dlname ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName dlprefile_dlname ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} { (DQ ($ Id.VSub_DollarName dlprefile_dlname ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > name: dlprefile_dlbasename ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_basename_result ) } ) ] redirects: [] ) ] spids: [23106 23117] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$sharedlib_from_linklib_cmd' > more_env: [] words: [ { ($ Id.VSub_DollarName sharedlib_from_linklib_cmd ) } { (DQ ($ Id.VSub_DollarName dlprefile ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlprefile_dlbasename=' > name: dlprefile_dlbasename ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName sharedlib_from_linklib_result ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [23060 23079] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName dlprefile_dlbasename ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' > ) } ] redirects: [] do_fork: T ) ] spids: [23162 23173] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ < 'Could not compute DLL name from ' > ($ Id.VSub_DollarName name) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$ECHO ": $name " >> "$nlist"' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} { (DQ ($ Id.VSub_DollarName dlprefile) ) } {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName NM) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName func_to_tool_file_result) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 2>/dev/null | '> ($ Id.VSub_DollarName global_symbol_pipe) <' |\n'> <'\t '> ($ Id.VSub_DollarName SED) <' -e \'/I __imp/d\' -e \'s/I __nm_/D /;s/_nm__//\' >> \''> ($ Id.VSub_DollarName nlist) <'\''> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [23028 23037] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'$ECHO ": $name " >> "$nlist"'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName dlprefile))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName NM) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName func_to_tool_file_result) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 2>/dev/null | '> ($ Id.VSub_DollarName global_symbol_pipe) <' >> \''> ($ Id.VSub_DollarName nlist) <'\''> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(SQ <'$ECHO ": $name " >> "$nlist"'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName dlprefile))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName NM) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName func_to_tool_file_result) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 2>/dev/null | '> ($ Id.VSub_DollarName global_symbol_pipe) <' >> \''> ($ Id.VSub_DollarName nlist) <'\''> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName nlist))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName exclude_expsyms))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$EGREP'> more_env: [] words: [ {($ Id.VSub_DollarName EGREP)} {<-v>} { (DQ <' ('> ($ Id.VSub_DollarName exclude_expsyms) <')'> <Id.Lit_Dollar '$'> ) } {(DQ ($ Id.VSub_DollarName nlist))} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName nlist)) <T>} ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} {(DQ ($ Id.VSub_DollarName nlist)) <T>} {(DQ ($ Id.VSub_DollarName nlist))} ] redirects: [] do_fork: T ) ] spids: [23376 23387] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] words: [ {($ Id.VSub_DollarName GREP)} {<-v>} {(DQ <'^: '>)} ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-k>} {<3>}] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd: 0 ) arg: {<'/dev/null'>} ) (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 _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-k>} {<3>}] redirects: [] do_fork: T ) ] spids: [23452 23470] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<Id.Lit_Other '+'> <2>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <uniq> more_env: [] words: [{<uniq>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName nlist)) <S> } ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [23433 23504] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] words: [{($ Id.VSub_DollarName GREP)} {<-v>} {(DQ <'^: '>)}] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName nlist)) <S>} ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName nlist)) <S>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ ($ Id.VSub_DollarName global_symbol_to_cdecl)) (SQ <' < "$nlist"S >> "$output_objdir/$my_dlsyms"'>) } ] redirects: [] do_fork: T ) ] spids: [23539 23551] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'/* NONE */'>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [{<func_show_eval>} {(SQ <'$RM "${nlist}I"'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName global_symbol_to_import ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ ($ Id.VSub_DollarName global_symbol_to_import)) (SQ <' < "$nlist"S > "$nlist"I'>) } ] redirects: [] do_fork: T ) ] spids: [23593 23604] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'\n'> < '/* The mapping between symbol names and symbols. */\n' > <'typedef struct {\n'> <' const char *name;\n'> <' void *address;\n'> <'} lt_dlsymlist;\n'> <'extern LT_DLSYM_CONST lt_dlsymlist\n'> <lt_> (${ Id.VSub_Name my_prefix) <'_LTX_preloaded_symbols[];'> ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-s>} {(DQ ($ Id.VSub_DollarName nlist)) <I>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'static void lt_syminit(void)\n'> <'{\n'> <' LT_DLSYM_CONST lt_dlsymlist *symbol = lt_'> (${ Id.VSub_Name my_prefix) <'_LTX_preloaded_symbols;\n'> <' for (; symbol->name; ++symbol)\n'> <' {'> ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's/.*/ if (STREQ (symbol->name, \\"&\\")) symbol->address = (void *) \\&&;/' > ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName nlist)) <I>} ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' }\n'> <'}'>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] spids: [23650 23662] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'LT_DLSYM_CONST lt_dlsymlist\n'> <lt_> (${ Id.VSub_Name my_prefix) <'_LTX_preloaded_symbols[] =\n'> <'{ {'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName my_originator) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <', (void *) 0},'> ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-s>} {(DQ ($ Id.VSub_DollarName nlist)) <I>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <' {'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'@INIT@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', (void *) <_syminit},'> ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] spids: [23758 23770] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName need_lib_prefix)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <no> pattern: (pat.Words words:[{<no>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName global_symbol_to_c_name_address ) ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName global_symbol_to_c_name_address_lib_prefix ) ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <' {0, (void *) 0}\n'> <'};\n'> <'\n'> < '/* This works around a problem in FreeBSD linker */\n' > <'#ifdef FREEBSD_WORKAROUND\n'> <'static const void *lt_preloaded_setup() {\n'> <' return lt_'> (${ Id.VSub_Name my_prefix) <'_LTX_preloaded_symbols;\n'> <'}\n'> <'#endif\n'> <'\n'> <'#ifdef __cplusplus\n'> <'}\n'> <'#endif'> ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_dlsyms) ) } ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pic_flag_for_symtable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_flag_for_symtable='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_flag_for_symtable='> name: pic_flag_for_symtable ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName compile_command) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> (DQ <' -static '>) <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd2.> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd3.0> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsdelf3.0> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_flag_for_symtable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_flag_for_symtable='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_flag_for_symtable='> name: pic_flag_for_symtable ) op: assign_op.Equal rhs: { (DQ <' '> ($ Id.VSub_DollarName pic_flag) <' -DFREEBSD_WORKAROUND'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-hpux> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_flag_for_symtable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_flag_for_symtable='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_flag_for_symtable='> name: pic_flag_for_symtable ) op: assign_op.Equal rhs: {(DQ <' '> ($ Id.VSub_DollarName pic_flag))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$my_pic_p'> more_env: [] words: [{($ Id.VSub_DollarName my_pic_p)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'pic_flag_for_symtable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_flag_for_symtable='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_flag_for_symtable='> name: pic_flag_for_symtable ) op: assign_op.Equal rhs: {(DQ <' '> ($ Id.VSub_DollarName pic_flag))} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'symtab_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'symtab_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'symtab_cflags='> name: symtab_cflags ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName LTCFLAGS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-pie> pattern: (pat.Words words:[{<-pie>} {<-fpie>} {<-fPIE>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<symtab_cflags>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' > ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' > ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'symfileobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'symfileobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'symfileobj='> name: symfileobj ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name my_outputname) <S.> ($ Id.VSub_DollarName objext) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName my_outputname) <.def> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName compile_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%@SYMFILE@%'> ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName my_outputname) <'.def '> ($ Id.VSub_DollarName symfileobj) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName finalize_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%@SYMFILE@%'> ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName my_outputname) <'.def '> ($ Id.VSub_DollarName symfileobj) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [24157 24171] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName compile_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%@SYMFILE@%'> ($ Id.VSub_DollarName symfileobj) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName finalize_command ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%@SYMFILE@%'> ($ Id.VSub_DollarName symfileobj) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName compile_command) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%@SYMFILE@%'> ($ Id.VSub_DollarName symfileobj) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName finalize_command) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'s%@SYMFILE@%'> ($ Id.VSub_DollarName symfileobj) <'%'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'unknown suffix for \''> ($ Id.VSub_DollarName my_dlsyms) <'\''>) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [22391 22402] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName compile_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(DQ <'s% @SYMFILE@%%'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName finalize_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {(DQ <'s% @SYMFILE@%%'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_cygming_gnu_implib_p> name: func_cygming_gnu_implib_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_Number 1))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_cygming_gnu_implib_tmp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_cygming_gnu_implib_tmp='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_cygming_gnu_implib_tmp='> name: func_cygming_gnu_implib_tmp ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$NM'> more_env: [] words: [ {($ Id.VSub_DollarName NM)} {(DQ ($ Id.VSub_DollarName func_to_tool_file_result))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName global_symbol_pipe))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$EGREP'> more_env: [] words: [ {($ Id.VSub_DollarName EGREP)} {(SQ <' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName func_cygming_gnu_implib_tmp))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_cygming_ms_implib_p> name: func_cygming_ms_implib_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_Number 1))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'func_cygming_ms_implib_tmp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_cygming_ms_implib_tmp='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_cygming_ms_implib_tmp='> name: func_cygming_ms_implib_tmp ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$NM'> more_env: [] words: [ {($ Id.VSub_DollarName NM)} {(DQ ($ Id.VSub_DollarName func_to_tool_file_result))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName global_symbol_pipe))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] words: [{($ Id.VSub_DollarName GREP)} {(SQ <_NULL_IMPORT_DESCRIPTOR>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName func_cygming_ms_implib_tmp))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_win32_libid> name: func_win32_libid body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'win32_libid_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_libid_type='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_libid_type='> name: win32_libid_type ) op: assign_op.Equal rhs: {<unknown>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'win32_fileres='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_fileres='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'win32_fileres='> name:win32_fileres) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <file> more_env: [] words: [{<file>} {<-L>} {($ Id.VSub_Number 1)}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName win32_fileres)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <ar> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <archive> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Id.KW_Import import> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <library> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_libid_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_libid_type='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_libid_type='> name: win32_libid_type ) op: assign_op.Equal rhs: {(DQ <'x86 archive import'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <ar> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <archive> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {($ Id.VSub_DollarName OBJDUMP)} {<-f>} {($ Id.VSub_Number 1)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<-e>} {(SQ <10q>)}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$EGREP'> more_env: [] words: [ {($ Id.VSub_DollarName EGREP)} { (SQ < 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' > ) } ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName nm_interface)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ <'MS dumpbin'>)}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Simple blame_tok: <func_cygming_ms_implib_p> more_env: [] words: [ {<func_cygming_ms_implib_p>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_cygming_gnu_implib_p> more_env: [] words: [ {<func_cygming_gnu_implib_p>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_nmres='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_nmres='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_nmres='> name: win32_nmres ) op: assign_op.Equal rhs: {<Id.KW_Import import>} ) ] redirects: [] ) ] spids: [24714 24732] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_nmres='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_nmres='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_nmres='> name: win32_nmres ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_Number 1))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'win32_nmres='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_nmres='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_nmres='> name: win32_nmres ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {($ Id.VSub_DollarName NM)} {<-f>} {<posix>} {<-A>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName func_to_tool_file_result) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-n>} {<-e>} { (SQ <'\n'> <'\t 1,100{\n'> <'\t\t/ I /{\n'> <'\t\t s|.*|import|\n'> <'\t\t p\n'> <'\t\t q\n'> <'\t\t}\n'> <'\t }'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName win32_nmres)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.KW_Import import> pattern: (pat.Words words: [{<Id.KW_Import import> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_libid_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_libid_type='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_libid_type='> name: win32_libid_type ) op: assign_op.Equal rhs: {(DQ <'x86 archive import'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_libid_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_libid_type='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_libid_type='> name: win32_libid_type ) op: assign_op.Equal rhs: {(DQ <'x86 archive static'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [24662 24698] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <DLL> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_libid_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_libid_type='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_libid_type='> name: win32_libid_type ) op: assign_op.Equal rhs: {(DQ <'x86 DLL'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <executable> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName win32_fileres)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <MS> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <Windows> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <PE> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <Intel> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'win32_libid_type='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'win32_libid_type='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'win32_libid_type='> name: win32_libid_type ) op: assign_op.Equal rhs: {(DQ <'x86 DLL'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName win32_libid_type))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_cygming_dll_for_implib> name: func_cygming_dll_for_implib body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> name: sharedlib_from_linklib_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$DLLTOOL'> more_env: [] words: [ {($ Id.VSub_DollarName DLLTOOL)} {<--identify-strict>} {<--identify>} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_cygming_dll_for_implib_fallback_core> name: func_cygming_dll_for_implib_fallback_core body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'match_literal='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'match_literal='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'match_literal='> name:match_literal) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_make_literal_regex))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$OBJDUMP'> more_env: [] words: [ {($ Id.VSub_DollarName OBJDUMP)} {<-s>} {<--section>} {(DQ ($ Id.VSub_Number 1))} {(DQ ($ Id.VSub_Number 2))} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'/^Contents of section '>) (DQ ($ Id.VSub_DollarName match_literal)) (SQ <':/{\n'> <' # Place marker at beginning of archive member dllname section\n'> <' s/.*/====MARK====/\n'> <' p\n'> <' d\n'> <' }\n'> <' # These lines can sometimes be longer than 43 characters, but\n'> <' # are always uninteresting\n'> <' /:[\t ]*file format pe[i]\\{,1\\}-/d\n'> <' /^In archive [^:]*:/d\n'> <' # Ensure marker is printed\n'> <' /^====MARK====/p\n'> <' # Remove all lines with less than 43 characters\n'> <' /^.\\{43\\}/!d\n'> <' # From remaining lines, remove first 43 characters\n'> <' s/^.\\{43\\}//'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-n>} { (SQ <'\n'> <' # Join marker and all lines until next marker into a single line\n'> <' /^====MARK====/ b para\n'> <' H\n'> <' $ b para\n'> <' b\n'> <' :para\n'> <' x\n'> <' s/\\n//g\n'> <' # Remove the marker\n'> <' s/^====MARK====//\n'> <' # Remove trailing dots and whitespace\n'> <' s/[\\. \\t]*$//\n'> <' # Print\n'> <' /./p'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'/^\\./d;/^.\\./d;q'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_cygming_dll_for_implib_fallback> name: func_cygming_dll_for_implib_fallback body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_cygming_gnu_implib_p> more_env: [] words: [{<func_cygming_gnu_implib_p>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> name: sharedlib_from_linklib_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_cygming_dll_for_implib_fallback_core> more_env: [] words: [ {<func_cygming_dll_for_implib_fallback_core>} {(SQ <'.idata$7'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [25226 25235] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_cygming_ms_implib_p> more_env: [] words: [{<func_cygming_ms_implib_p>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> name: sharedlib_from_linklib_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <func_cygming_dll_for_implib_fallback_core> more_env: [] words: [ {<func_cygming_dll_for_implib_fallback_core>} {(SQ <'.idata$6'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [25258 25267] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sharedlib_from_linklib_result='> name: sharedlib_from_linklib_result ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_extract_an_archive> name: func_extract_an_archive body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'f_ex_an_ar_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f_ex_an_ar_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'f_ex_an_ar_dir='> name: f_ex_an_ar_dir ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'f_ex_an_ar_oldlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f_ex_an_ar_oldlib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'f_ex_an_ar_oldlib='> name: f_ex_an_ar_oldlib ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName lock_old_archive_extraction))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lockfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lockfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lockfile='> name:lockfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName f_ex_an_ar_oldlib) <.lock>} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_Until until> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ln> more_env: [] 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 ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_echo> more_env: [] words: [ {<func_echo>} { (DQ <'Waiting for '> ($ Id.VSub_DollarName lockfile) <' to be removed'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [25332 25345] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ <'(cd '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'f_ex_an_ar_dir && '> ($ Id.VSub_DollarName AR) <' x '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <f_ex_an_ar_oldlib> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <')'> ) } {(SQ <'stat=$?; rm -f "$lockfile"; exit $stat'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName lock_old_archive_extraction))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName lockfile))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [25418 25431] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Subshell left: <Id.Op_LParen _> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$AR'> more_env: [] words: [ {($ Id.VSub_DollarName AR)} {<t>} {(DQ ($ Id.VSub_DollarName f_ex_an_ar_oldlib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-uc>}] 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 ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Right_Subshell _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [25450 25479] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'object name conflicts in archive: '> ($ Id.VSub_DollarName f_ex_an_ar_dir) <'/'> ($ Id.VSub_DollarName f_ex_an_ar_oldlib) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_extract_archives> name: func_extract_archives body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'my_gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_gentop='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_gentop='> name:my_gentop) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'my_oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_oldlibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_oldlibs='> name:my_oldlibs) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_Plus _> arg_word: {(DQ ($ Id.VSub_At '@'))} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_oldobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_oldobjs='> name:my_oldobjs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xlib='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_xlib='> name:my_xlib) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xabs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xabs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_xabs='> name:my_xabs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_xdir='> name:my_xdir) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [my_xlib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName my_oldlibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName my_xlib)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_xabs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xabs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_xabs='> name: my_xabs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName my_xlib)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_xabs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xabs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_xabs='> name: my_xabs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) (DQ <'/'> ($ Id.VSub_DollarName my_xlib)) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName my_xlib))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xlib='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_xlib='> name:my_xlib) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xlib_u='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xlib_u='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_xlib_u='> name:my_xlib_u) op: assign_op.Equal rhs: {($ Id.VSub_DollarName my_xlib)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName extracted_archives) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName my_xlib_u) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName extracted_serial)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'extracted_serial='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extracted_serial='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'extracted_serial='> name: extracted_serial ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xlib_u='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xlib_u='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_xlib_u='> name: my_xlib_u ) op: assign_op.Equal rhs: {<lt> ($ Id.VSub_DollarName extracted_serial) <-> ($ Id.VSub_DollarName my_xlib) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'extracted_archives='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extracted_archives='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'extracted_archives='> name: extracted_archives ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName extracted_archives) <' '> ($ Id.VSub_DollarName my_xlib_u) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_xdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_xdir='> name:my_xdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName my_gentop) <'/'> ($ Id.VSub_DollarName my_xlib_u)} ) ] redirects: [] ) (command.Simple blame_tok: <func_mkdir_p> more_env: [] words: [{<func_mkdir_p>} {(DQ ($ Id.VSub_DollarName my_xdir))}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} {(DQ <'Extracting '> ($ Id.VSub_DollarName my_xabs))} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'darwin_orig_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_orig_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_orig_dir='> name: darwin_orig_dir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {($ Id.VSub_DollarName my_xdir)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_archive='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_archive='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_archive='> name: darwin_archive ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName my_xabs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_curdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_curdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_curdir='> name: darwin_curdir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName darwin_archive))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_base_archive='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_base_archive='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_base_archive='> name: darwin_base_archive ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_arches='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_arches='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_arches='> name: darwin_arches ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$LIPO'> more_env: [] words: [ {($ Id.VSub_DollarName LIPO)} {<-info>} { (DQ ($ Id.VSub_DollarName darwin_archive ) ) } ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] words: [ {($ Id.VSub_DollarName GREP)} {<Architectures>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName darwin_arches))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'darwin_arches='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_arches='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_arches='> name: darwin_arches ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName darwin_arches ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s/.*are://'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_arch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_arch='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_arch='> name: darwin_arch ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ ($ Id.VSub_DollarName darwin_base_archive) <' has multiple architectures '> ($ Id.VSub_DollarName darwin_arches) ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [darwin_arch] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName darwin_arches)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_mkdir_p> more_env: [] words: [ {<func_mkdir_p>} { (DQ <unfat-> ($ Id.VSub_Dollar '$') <'/'> ($ Id.VSub_DollarName darwin_base_archive) <-> ($ Id.VSub_DollarName darwin_arch) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$LIPO'> more_env: [] words: [ {($ Id.VSub_DollarName LIPO)} {<-thin>} {($ Id.VSub_DollarName darwin_arch)} {<-output>} { (DQ <unfat-> ($ Id.VSub_Dollar '$') <'/'> ($ Id.VSub_DollarName darwin_base_archive) <-> ($ Id.VSub_DollarName darwin_arch) <'/'> ($ Id.VSub_DollarName darwin_base_archive) ) } {(DQ ($ Id.VSub_DollarName darwin_archive))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} { (DQ <unfat-> ($ Id.VSub_Dollar '$') <'/'> ($ Id.VSub_DollarName darwin_base_archive) <-> ($ Id.VSub_DollarName darwin_arch) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_an_archive> more_env: [] words: [ {<func_extract_an_archive>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } { (DQ ($ Id.VSub_DollarName darwin_base_archive) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} {(DQ ($ Id.VSub_DollarName darwin_curdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} { (DQ <unfat-> ($ Id.VSub_Dollar '$') <'/'> ($ Id.VSub_DollarName darwin_base_archive) <-> ($ Id.VSub_DollarName darwin_arch) <'/'> ($ Id.VSub_DollarName darwin_base_archive) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_filelist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_filelist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_filelist='> name: darwin_filelist ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<unfat-> ($ Id.VSub_Dollar '$')} {<-type>} {<f>} {<-name>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\*'> ch: '*' ) <.o> } {<-print>} {<-o>} {<-name>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\*'> ch: '*' ) <.lo> } {<-print>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} { (DQ ($ Id.VSub_DollarName sed_basename ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-u>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_file='> name: darwin_file ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'darwin_files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_files='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_files='> name: darwin_files ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [darwin_file] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName darwin_filelist)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'darwin_files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'darwin_files='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'darwin_files='> name: darwin_files ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<unfat-> ($ Id.VSub_Dollar '$') } {<-name>} { ($ Id.VSub_DollarName darwin_file ) } {<-print>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP' > more_env: [] words: [ { ($ Id.VSub_DollarName NL2SP ) } ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_Pipe _> <Id.Op_Pipe _> ] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$LIPO'> more_env: [] words: [ {($ Id.VSub_DollarName LIPO)} {<-create>} {<-output>} {(DQ ($ Id.VSub_DollarName darwin_file))} {($ Id.VSub_DollarName darwin_files)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {<-rf>} {<unfat-> ($ Id.VSub_Dollar '$')} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} {(DQ ($ Id.VSub_DollarName darwin_orig_dir))} ] redirects: [] do_fork: T ) ] spids: [25824 25835] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {($ Id.VSub_DollarName darwin_orig_dir)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_an_archive> more_env: [] words: [ {<func_extract_an_archive>} {(DQ ($ Id.VSub_DollarName my_xdir))} {(DQ ($ Id.VSub_DollarName my_xabs))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_extract_an_archive> more_env: [] words: [ {<func_extract_an_archive>} {(DQ ($ Id.VSub_DollarName my_xdir))} {(DQ ($ Id.VSub_DollarName my_xabs))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_oldobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_oldobjs='> name:my_oldobjs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName my_oldobjs) <' '>) (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {($ Id.VSub_DollarName my_xdir)} {<-name>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\*'> ch: '*' ) <.> ($ Id.VSub_DollarName objext) } {<-print>} {<-o>} {<-name>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\*'> ch: '*' ) <.lo> } {<-print>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_extract_archives_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_extract_archives_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_extract_archives_result='> name: func_extract_archives_result ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName my_oldobjs)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_emit_wrapper> name: func_emit_wrapper body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_emit_wrapper_arg1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_emit_wrapper_arg1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_emit_wrapper_arg1='> name: func_emit_wrapper_arg1 ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<no>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'#! '> ($ Id.VSub_DollarName SHELL) <'\n'> <'\n'> <'# '> ($ Id.VSub_DollarName output) <' - temporary wrapper script for '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName outputname) <'\n'> <'# Generated by '> ($ Id.VSub_DollarName PROGRAM) <' (GNU '> ($ Id.VSub_DollarName PACKAGE) <') '> ($ Id.VSub_DollarName VERSION) <'\n'> <'#\n'> <'# The '> ($ Id.VSub_DollarName output) <' program cannot be directly executed until all the libtool\n'> <'# libraries that it depends on are installed.\n'> <'#\n'> <'# This wrapper script should never be moved out of the build directory.\n'> <'# If it is, it will not operate correctly.\n'> <'\n'> <'# Sed substitution that helps us do robust quoting. It backslashifies\n'> <'# metacharacters that are still active within double-quoted strings.\n'> <'sed_quote_subst=\''> ($ Id.VSub_DollarName sed_quote_subst) <'\'\n'> <'\n'> <'# Be Bourne compatible\n'> <'if test -n '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{ZSH_VERSION+set}'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' && (emulate sh) >/dev/null 2>&1; then\n'> <' emulate sh\n'> <' NULLCMD=:\n'> <' # Zsh 3.x and 4.x performs word splitting on '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{1+'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'}, which\n'> <' # is contrary to our usage. Disable this feature.\n'> <' alias -g \''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'{1+'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}\'=\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\'\n'> <' setopt NO_GLOB_SUBST\n'> <'else\n'> <' case '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'(set -o) 2>/dev/null'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <' in *posix*) set -o posix;; esac\n'> <'fi\n'> <'BIN_SH=xpg4; export BIN_SH # for Tru64\n'> <'DUALCASE=1; export DUALCASE # for MKS sh\n'> <'\n'> <'# The HP-UX ksh and POSIX shell print the target directory to stdout\n'> <'# if CDPATH is set.\n'> <'(unset CDPATH) >/dev/null 2>&1 && unset CDPATH\n'> <'\n'> <'relink_command='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName relink_command) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <'\n'> <'# This environment variable determines our operation mode.\n'> <'if test '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <libtool_install_magic> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName magic) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then\n'> <' # install mode needs the following variables:\n'> <' generated_by_libtool_version=\''> ($ Id.VSub_DollarName macro_version) <'\'\n'> <' notinst_deplibs=\''> ($ Id.VSub_DollarName notinst_deplibs) <'\'\n'> <'else\n'> <' # When we are sourced in execute mode, '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'file and '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO are already set.\n'> <' if test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <libtool_execute_magic> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' != '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName magic) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then\n'> <' file='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <0> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'qECHO='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'qECHO='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'qECHO='> name:qECHO) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [{($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName ECHO))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_quote_subst))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'\n'> <'# A function that is used when there is no print builtin or printf.\n'> <'func_fallback_echo ()\n'> <'{\n'> <' eval \'cat <<_LTECHO_EOF\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'1\n'> <'_LTECHO_EOF\'\n'> <'}\n'> <' ECHO='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName qECHO) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <' fi\n'> <'\n'> <'# Very basic option parsing. These options are (a) specific to\n'> <'# the libtool wrapper, (b) are identical between the wrapper\n'> <'# /script/ and the wrapper /executable/ that is used only on\n'> <'# windows platforms, and (c) all begin with the string '> ) <--lt-> (DQ <'\n'> <'# (application programs are unlikely to have options that match\n'> <'# this pattern).\n'> <'#\n'> <'# There are only two supported options: --lt-debug and\n'> <'# --lt-dump-script. There is, deliberately, no --lt-help.\n'> <'#\n'> <'# The first argument to this parsing function should be the\n'> <'# script\'s '> ($ Id.VSub_Number 0) <' value, followed by '> ) ($ Id.VSub_At '@') (DQ <'.\n'> <'lt_option_debug=\n'> <'func_parse_lt_options ()\n'> <'{\n'> <' lt_script_arg0='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'0\n'> <' shift\n'> <' for lt_opt\n'> <' do\n'> <' case '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <lt_opt> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' in\n'> <' --lt-debug) lt_option_debug=1 ;;\n'> <' --lt-dump-script)\n'> <' lt_dump_D='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <X> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_script_arg0> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' | '> ($ Id.VSub_DollarName SED) <' -e \'s/^X//\' -e \'s%/[^/]*'> <Id.Lit_Dollar '$'> <'%%\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <' test '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <X> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <lt_dump_D> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <X> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_script_arg0> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' && lt_dump_D=.\n'> <' lt_dump_F='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <X> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_script_arg0> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' | '> ($ Id.VSub_DollarName SED) <' -e \'s/^X//\' -e \'s%^.*/%%\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <' cat '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'lt_dump_D/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_dump_F> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <' exit 0\n'> <' ;;\n'> <' --lt-*)\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'Unrecognized --lt- option: \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'lt_opt\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 1>&2\n'> <' exit 1\n'> <' ;;\n'> <' esac\n'> <' done\n'> <'\n'> <' # Print the debug banner immediately:\n'> <' if test -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <lt_option_debug> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then\n'> <' echo '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName outputname) <':'> ($ Id.VSub_DollarName output) <':'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'LINENO: libtool wrapper (GNU '> ($ Id.VSub_DollarName PACKAGE) <') '> ($ Id.VSub_DollarName VERSION) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 1>&2\n'> <' fi\n'> <'}\n'> <'\n'> <'# Used when --lt-debug. Prints its arguments to stdout\n'> <'# (redirection is the responsibility of the caller)\n'> <'func_lt_dump_args ()\n'> <'{\n'> <' lt_dump_args_N=1;\n'> <' for lt_arg\n'> <' do\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName outputname) <':'> ($ Id.VSub_DollarName output) <':'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'LINENO: newargv['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'lt_dump_args_N]: '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_arg> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <' lt_dump_args_N='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'expr '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'lt_dump_args_N + 1'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <' done\n'> <'}\n'> <'\n'> <'# Core function for launching the target application\n'> <'func_exec_program_core ()\n'> <'{\n'> ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' if test -n '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_option_debug> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; then\n'> <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName outputname) <':'> ($ Id.VSub_DollarName output) <':'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'LINENO: newargv[0]: '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <progdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 1>&2\n'> <' func_lt_dump_args '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{1+'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'} 1>&2\n'> <' fi\n'> <' exec '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <progdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'{1+'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}\n'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' if test -n '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_option_debug> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; then\n'> <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName outputname) <':'> ($ Id.VSub_DollarName output) <':'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'LINENO: newargv[0]: '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 1>&2\n'> <' func_lt_dump_args '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'{1+'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'} 1>&2\n'> <' fi\n'> <' exec '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{1+'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'}\n'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0: cannot exec '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'program '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 1>&2\n'> <' exit 1\n'> <'}\n'> <'\n'> <'# A function to encapsulate launching the target application\n'> <'# Strips options in the --lt-* namespace from '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@ and\n'> <'# launches target application with the remaining arguments.\n'> <'func_exec_program ()\n'> <'{\n'> <' case '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'* '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' in\n'> <' *'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <' --lt-*)\n'> <' for lt_wr_arg\n'> <' do\n'> <' case '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'lt_wr_arg in\n'> <' --lt-*) ;;\n'> <' *) set x '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <lt_wr_arg> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; shift;;\n'> <' esac\n'> <' shift\n'> <' done ;;\n'> <' esac\n'> <' func_exec_program_core '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'{1+'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}\n'> <'}\n'> <'\n'> <' # Parse options\n'> <' func_parse_lt_options '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <0> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'{1+'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}\n'> <'\n'> <' # Find the directory that this script lives in.\n'> <' thisdir='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <file> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' | '> ($ Id.VSub_DollarName SED) <' \'s%/[^/]*'> <Id.Lit_Dollar '$'> <'%%\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <' test '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <x> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <thisdir> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <x> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' && thisdir=.\n'> <'\n'> <' # Follow symbolic links until we get to the real thisdir.\n'> <' file='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'ls -ld '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <file> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' | '> ($ Id.VSub_DollarName SED) <' -n \'s/.*-> //p\''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'\n'> <' while test -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <file> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; do\n'> <' destdir='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' | '> ($ Id.VSub_DollarName SED) <' \'s%/[^/]*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'%%\''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'\n'> <'\n'> <' # If there was a directory component, then change thisdir.\n'> <' if test '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <x> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <destdir> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' != '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <x> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; then\n'> <' case '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <destdir> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' in\n'> <' ['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/]* | [A-Za-z]:['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/]*) thisdir='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <destdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' ;;\n'> <' *) thisdir='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'thisdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <destdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' ;;\n'> <' esac\n'> <' fi\n'> <'\n'> <' file='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' | '> ($ Id.VSub_DollarName SED) <' \'s%^.*/%%\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <' file='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'ls -ld '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'thisdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <file> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' | '> ($ Id.VSub_DollarName SED) <' -n \'s/.*-> //p\''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'\n'> <' done\n'> <'\n'> <' # Usually \'no\', except on cygwin/mingw when embedded into\n'> <' # the cwrapper.\n'> <' WRAPPER_SCRIPT_BELONGS_IN_OBJDIR='> ($ Id.VSub_DollarName func_emit_wrapper_arg1) <'\n'> <' if test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <WRAPPER_SCRIPT_BELONGS_IN_OBJDIR> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' = '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <yes> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; then\n'> <' # special case for \'.\'\n'> <' if test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <thisdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' = '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; then\n'> <' thisdir='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <pwd> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <' fi\n'> <' # remove .libs from thisdir\n'> <' case '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <thisdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' in\n'> <' *['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/]'> ($ Id.VSub_DollarName objdir) <' ) thisdir='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <thisdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' | '> ($ Id.VSub_DollarName SED) <' \'s%['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/][^'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/]*'> <Id.Lit_Dollar '$'> <'%%\''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <' ;;\n'> <' '> ($ Id.VSub_DollarName objdir) <' ) thisdir=. ;;\n'> <' esac\n'> <' fi\n'> <'\n'> <' # Try to get the absolute directory name.\n'> <' absdir='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'cd '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <thisdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' && pwd'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'\n'> <' test -n '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <absdir> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' && thisdir='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <absdir> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName fast_install))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' program=lt-\''> ($ Id.VSub_DollarName outputname) <'\''> ($ Id.VSub_DollarName exeext) <'\n'> <' progdir='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'thisdir/'> ($ Id.VSub_DollarName objdir) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <'\n'> <' if test ! -f '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' ||\n'> <' { file='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'ls -1dt '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/../'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 2>/dev/null | '> ($ Id.VSub_DollarName SED) <' 1q'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'; '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'\n'> <' test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <X> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' != '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <X> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; }; then\n'> <'\n'> <' file='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <-> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <'\n'> <' if test ! -d '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <progdir> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then\n'> <' '> ($ Id.VSub_DollarName MKDIR) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <progdir> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <' else\n'> <' '> ($ Id.VSub_DollarName RM) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <' fi'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'\n'> <' # relink executable if necessary\n'> <' if test -n '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <relink_command> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; then\n'> <' if relink_command_output='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'eval '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'relink_command 2>&1'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'; then :\n'> <' else\n'> <'\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <relink_command_output> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' >&2\n'> <'\t'> ($ Id.VSub_DollarName RM) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <'\texit 1\n'> <' fi\n'> <' fi\n'> <'\n'> <' '> ($ Id.VSub_DollarName MV) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <file> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 2>/dev/null ||\n'> <' { '> ($ Id.VSub_DollarName RM) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <program> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <';\n'> <' '> ($ Id.VSub_DollarName MV) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <file> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; }\n'> <' '> ($ Id.VSub_DollarName RM) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'progdir/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <file> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <' fi'> ) } ] redirects: [] do_fork: T ) ] spids: [27087 27100] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' program=\''> ($ Id.VSub_DollarName outputname) <'\'\n'> <' progdir='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'thisdir/'> ($ Id.VSub_DollarName objdir) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'\n'> <' if test -f '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dllsearchpath))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' # Add the dll search path components to the executable PATH\n'> <' PATH='> ($ Id.VSub_DollarName dllsearchpath) <':'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'PATH\n'> ) } ] redirects: [] do_fork: T ) ] spids: [27368 27379] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName shlibpath_overrides_runpath))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName temp_rpath))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' # Add our own library path to '> ($ Id.VSub_DollarName shlibpath_var) <'\n'> <' '> ($ Id.VSub_DollarName shlibpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName temp_rpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <'\n'> <' # Some systems cannot cope with colon-terminated '> ($ Id.VSub_DollarName shlibpath_var) <'\n'> <' # The second colon is a workaround for a bug in BeOS R4 sed\n'> <' '> ($ Id.VSub_DollarName shlibpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' | '> ($ Id.VSub_DollarName SED) <' \'s/::*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'//\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'\n'> <'\n'> <' export '> ($ Id.VSub_DollarName shlibpath_var) <'\n'> ) } ] redirects: [] do_fork: T ) ] spids: [27403 27436] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' if test '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <libtool_execute_magic> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' != '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName magic) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; then\n'> <' # Run the actual program with our arguments.\n'> <' func_exec_program '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{1+'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'}\n'> <' fi\n'> <' else\n'> <' # The program doesn\'t exist.\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0: error: \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'progdir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'program\' does not exist'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 1>&2\n'> <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'ECHO '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'This script is just a wrapper for '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <program.> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 1>&2\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'See the '> ($ Id.VSub_DollarName PACKAGE) <' documentation for more information.'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' 1>&2\n'> <' exit 1\n'> <' fi\n'> <fi> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_emit_cwrapperexe_src> name: func_emit_cwrapperexe_src body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'\n'> <'/* '> ($ Id.VSub_DollarName cwrappersource) <' - temporary wrapper executable for '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName outputname) <'\n'> <' Generated by '> ($ Id.VSub_DollarName PROGRAM) <' (GNU '> ($ Id.VSub_DollarName PACKAGE) <') '> ($ Id.VSub_DollarName VERSION) <'\n'> <'\n'> <' The '> ($ Id.VSub_DollarName output) <' program cannot be directly executed until all the libtool\n'> <' libraries that it depends on are installed.\n'> <'\n'> < ' This wrapper executable should never be moved out of the build directory.\n' > <' If it is, it will not operate correctly.\n'> <'*/\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#ifdef _MSC_VER\n'> <'# define _CRT_SECURE_NO_DEPRECATE 1\n'> <'#endif\n'> <'#include <stdio.h>\n'> <'#include <stdlib.h>\n'> <'#ifdef _MSC_VER\n'> <'# include <direct.h>\n'> <'# include <process.h>\n'> <'# include <io.h>\n'> <'#else\n'> <'# include <unistd.h>\n'> <'# include <stdint.h>\n'> <'# ifdef __CYGWIN__\n'> <'# include <io.h>\n'> <'# endif\n'> <'#endif\n'> <'#include <malloc.h>\n'> <'#include <stdarg.h>\n'> <'#include <assert.h>\n'> <'#include <string.h>\n'> <'#include <ctype.h>\n'> <'#include <errno.h>\n'> <'#include <fcntl.h>\n'> <'#include <sys/stat.h>\n'> <'\n'> <'#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)\n'> <'\n'> <'/* declarations of non-ANSI functions */\n'> <'#if defined __MINGW32__\n'> <'# ifdef __STRICT_ANSI__\n'> <'int _putenv (const char *);\n'> <'# endif\n'> <'#elif defined __CYGWIN__\n'> <'# ifdef __STRICT_ANSI__\n'> <'char *realpath (const char *, char *);\n'> <'int putenv (char *);\n'> <'int setenv (const char *, const char *, int);\n'> <'# endif\n'> <'/* #elif defined other_platform || defined ... */\n'> <'#endif\n'> <'\n'> <'/* portability defines, excluding path handling macros */\n'> <'#if defined _MSC_VER\n'> <'# define setmode _setmode\n'> <'# define stat _stat\n'> <'# define chmod _chmod\n'> <'# define getcwd _getcwd\n'> <'# define putenv _putenv\n'> <'# define S_IXUSR _S_IEXEC\n'> <'#elif defined __MINGW32__\n'> <'# define setmode _setmode\n'> <'# define stat _stat\n'> <'# define chmod _chmod\n'> <'# define getcwd _getcwd\n'> <'# define putenv _putenv\n'> <'#elif defined __CYGWIN__\n'> <'# define HAVE_SETENV\n'> <'# define FOPEN_WB "wb"\n'> <'/* #elif defined other platforms ... */\n'> <'#endif\n'> <'\n'> <'#if defined PATH_MAX\n'> <'# define LT_PATHMAX PATH_MAX\n'> <'#elif defined MAXPATHLEN\n'> <'# define LT_PATHMAX MAXPATHLEN\n'> <'#else\n'> <'# define LT_PATHMAX 1024\n'> <'#endif\n'> <'\n'> <'#ifndef S_IXOTH\n'> <'# define S_IXOTH 0\n'> <'#endif\n'> <'#ifndef S_IXGRP\n'> <'# define S_IXGRP 0\n'> <'#endif\n'> <'\n'> <'/* path handling portability macros */\n'> <'#ifndef DIR_SEPARATOR\n'> <'# define DIR_SEPARATOR \'/\'\n'> <'# define PATH_SEPARATOR \':\'\n'> <'#endif\n'> <'\n'> <'#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \\\n'> <' defined __OS2__\n'> <'# define HAVE_DOS_BASED_FILE_SYSTEM\n'> <'# define FOPEN_WB "wb"\n'> <'# ifndef DIR_SEPARATOR_2\n'> <'# define DIR_SEPARATOR_2 \'\\\\\'\n'> <'# endif\n'> <'# ifndef PATH_SEPARATOR_2\n'> <'# define PATH_SEPARATOR_2 \';\'\n'> <'# endif\n'> <'#endif\n'> <'\n'> <'#ifndef DIR_SEPARATOR_2\n'> <'# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)\n'> <'#else /* DIR_SEPARATOR_2 */\n'> <'# define IS_DIR_SEPARATOR(ch) \\\n'> <'\t(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))\n'> <'#endif /* DIR_SEPARATOR_2 */\n'> <'\n'> <'#ifndef PATH_SEPARATOR_2\n'> <'# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)\n'> <'#else /* PATH_SEPARATOR_2 */\n'> <'# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)\n'> <'#endif /* PATH_SEPARATOR_2 */\n'> <'\n'> <'#ifndef FOPEN_WB\n'> <'# define FOPEN_WB "w"\n'> <'#endif\n'> <'#ifndef _O_BINARY\n'> <'# define _O_BINARY 0\n'> <'#endif\n'> <'\n'> < '#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))\n' > <'#define XFREE(stale) do { \\\n'> <' if (stale) { free (stale); stale = 0; } \\\n'> <'} while (0)\n'> <'\n'> <'#if defined LT_DEBUGWRAPPER\n'> <'static int lt_debug = 1;\n'> <'#else\n'> <'static int lt_debug = 0;\n'> <'#endif\n'> <'\n'> < 'const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */\n' > <'\n'> <'void *xmalloc (size_t num);\n'> <'char *xstrdup (const char *string);\n'> <'const char *base_name (const char *name);\n'> <'char *find_executable (const char *wrapper);\n'> <'char *chase_symlinks (const char *pathspec);\n'> <'int make_executable (const char *path);\n'> <'int check_executable (const char *path);\n'> <'char *strendzap (char *str, const char *pat);\n'> < 'void lt_debugprintf (const char *file, int line, const char *fmt, ...);\n' > <'void lt_fatal (const char *file, int line, const char *message, ...);\n'> <'static const char *nonnull (const char *s);\n'> <'static const char *nonempty (const char *s);\n'> <'void lt_setenv (const char *name, const char *value);\n'> < 'char *lt_extend_str (const char *orig_value, const char *add, int to_end);\n' > <'void lt_update_exe_path (const char *name, const char *value);\n'> <'void lt_update_lib_path (const char *name, const char *value);\n'> <'char **prepare_spawn (char **argv);\n'> <'void lt_dump_script (FILE *f);\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)\n'> <'# define externally_visible volatile\n'> <'#else\n'> < '# define externally_visible __attribute__((externally_visible)) volatile\n' > <'#endif\n'> <'externally_visible const char * MAGIC_EXE = '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName magic_exe) <Id.Right_DoubleQuote '"'> <';\n'> <'const char * LIB_PATH_VARNAME = '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName shlibpath_var) <Id.Right_DoubleQuote '"'> <';\n'> ] ) ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName shlibpath_overrides_runpath))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName temp_rpath))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_to_host_path> more_env: [] words: [{<func_to_host_path>} {(DQ ($ Id.VSub_DollarName temp_rpath))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'const char * LIB_PATH_VALUE = '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName func_to_host_path_result) <Id.Right_DoubleQuote '"'> <';\n'> ] ) ) ] do_fork: T ) ] spids: [27785 27818] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'const char * LIB_PATH_VALUE = "";\n'>] ) ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dllsearchpath))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_to_host_path> more_env: [] words: [{<func_to_host_path>} {(DQ ($ Id.VSub_DollarName dllsearchpath) <':'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'const char * EXE_PATH_VARNAME = '> <Id.Right_DoubleQuote '"'> <PATH> <Id.Right_DoubleQuote '"'> <';\n'> <'const char * EXE_PATH_VALUE = '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName func_to_host_path_result) <Id.Right_DoubleQuote '"'> <';\n'> ] ) ) ] do_fork: T ) ] spids: [27858 27869] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'const char * EXE_PATH_VARNAME = "";\n'> <'const char * EXE_PATH_VALUE = "";\n'> ] ) ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName fast_install))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'const char * TARGET_PROGRAM_NAME = '> <Id.Right_DoubleQuote '"'> <lt-> ($ Id.VSub_DollarName outputname) <Id.Right_DoubleQuote '"'> <'; /* hopefully, no .exe */\n'> ] ) ) ] do_fork: T ) ] spids: [27916 27929] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'const char * TARGET_PROGRAM_NAME = '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName outputname) <Id.Right_DoubleQuote '"'> <'; /* hopefully, no .exe */\n'> ] ) ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'\n'> <'#define LTWRAPPER_OPTION_PREFIX "--lt-"\n'> <'\n'> <'static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n'> < 'static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";\n' > < 'static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";\n' > <'\n'> <'int\n'> <'main (int argc, char *argv[])\n'> <'{\n'> <' char **newargz;\n'> <' int newargc;\n'> <' char *tmp_pathspec;\n'> <' char *actual_cwrapper_path;\n'> <' char *actual_cwrapper_name;\n'> <' char *target_name;\n'> <' char *lt_argv_zero;\n'> <' int rval = 127;\n'> <'\n'> <' int i;\n'> <'\n'> <' program_name = (char *) xstrdup (base_name (argv[0]));\n'> <' newargz = XMALLOC (char *, (size_t) argc + 1);\n'> <'\n'> <' /* very simple arg parsing; don\'t want to rely on getopt\n'> <' * also, copy all non cwrapper options to newargz, except\n'> <' * argz[0], which is handled differently\n'> <' */\n'> <' newargc=0;\n'> <' for (i = 1; i < argc; i++)\n'> <' {\n'> <' if (STREQ (argv[i], dumpscript_opt))\n'> <'\t{\n'> ] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' setmode(1,_O_BINARY);'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'\t lt_dump_script (stdout);\n'> <'\t return 0;\n'> <'\t}\n'> <' if (STREQ (argv[i], debug_opt))\n'> <'\t{\n'> <' lt_debug = 1;\n'> <' continue;\n'> <'\t}\n'> <' if (STREQ (argv[i], ltwrapper_option_prefix))\n'> <' {\n'> < ' /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX\n' > < ' namespace, but it is not one of the ones we know about and\n' > < ' have already dealt with, above (inluding dump-script), then\n' > < ' report an error. Otherwise, targets might begin to believe\n' > < ' they are allowed to use options in the LTWRAPPER_OPTION_PREFIX\n' > < ' namespace. The first time any user complains about this, we\'ll\n' > < ' need to make LTWRAPPER_OPTION_PREFIX a configure-time option\n' > <' or a configure.ac-settable value.\n'> <' */\n'> <' lt_fatal (__FILE__, __LINE__,\n'> <'\t\t "unrecognized %s option: \'%s\'",\n'> <' ltwrapper_option_prefix, argv[i]);\n'> <' }\n'> <' /* otherwise ... */\n'> <' newargz[++newargc] = xstrdup (argv[i]);\n'> <' }\n'> <' newargz[++newargc] = NULL;\n'> <'\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' /* The GNU banner must be the first non-error debug message */\n'> <' lt_debugprintf (__FILE__, __LINE__, '> <Id.Right_DoubleQuote '"'> <'libtool wrapper (GNU '> ($ Id.VSub_DollarName PACKAGE) <') '> ($ Id.VSub_DollarName VERSION) <Id.Lit_BadBackslash '\\'> <n> <Id.Right_DoubleQuote '"'> <');\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ < ' lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\\n", argv[0]);\n' > < ' lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\\n", program_name);\n' > <'\n'> <' tmp_pathspec = find_executable (argv[0]);\n'> <' if (tmp_pathspec == NULL)\n'> <' lt_fatal (__FILE__, __LINE__, "couldn\'t find %s", argv[0]);\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <' "(main) found exe (before symlink chase) at: %s\\n",\n'> <'\t\t tmp_pathspec);\n'> <'\n'> <' actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <' "(main) found exe (after symlink chase) at: %s\\n",\n'> <'\t\t actual_cwrapper_path);\n'> <' XFREE (tmp_pathspec);\n'> <'\n'> <' actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));\n'> <' strendzap (actual_cwrapper_path, actual_cwrapper_name);\n'> <'\n'> <' /* wrapper name transforms */\n'> <' strendzap (actual_cwrapper_name, ".exe");\n'> <' tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);\n'> <' XFREE (actual_cwrapper_name);\n'> <' actual_cwrapper_name = tmp_pathspec;\n'> <' tmp_pathspec = 0;\n'> <'\n'> < ' /* target_name transforms -- use actual target program name; might have lt- prefix */\n' > <' target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));\n'> <' strendzap (target_name, ".exe");\n'> <' tmp_pathspec = lt_extend_str (target_name, ".exe", 1);\n'> <' XFREE (target_name);\n'> <' target_name = tmp_pathspec;\n'> <' tmp_pathspec = 0;\n'> <'\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <'\t\t "(main) libtool target name: %s\\n",\n'> <'\t\t target_name);\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' newargz[0] =\n'> <' XMALLOC (char, (strlen (actual_cwrapper_path) +\n'> <'\t\t strlen ('> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName objdir) <Id.Right_DoubleQuote '"'> <') + 1 + strlen (actual_cwrapper_name) + 1));\n'> <' strcpy (newargz[0], actual_cwrapper_path);\n'> <' strcat (newargz[0], '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName objdir) <Id.Right_DoubleQuote '"'> <');\n'> <' strcat (newargz[0], '> <Id.Right_DoubleQuote '"'> <'/'> <Id.Right_DoubleQuote '"'> <');\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' /* stop here, and copy so we don\'t have to do this twice */\n'> <' tmp_pathspec = xstrdup (newargz[0]);\n'> <'\n'> <' /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n'> <' strcat (newargz[0], actual_cwrapper_name);\n'> <'\n'> <' /* DO want the lt- prefix here if it exists, so use target_name */\n'> <' lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n'> <' XFREE (tmp_pathspec);\n'> <' tmp_pathspec = NULL;\n'> ] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <mingw> pattern: (pat.Words words:[{<mingw> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' {\n'> <' char* p;\n'> <' while ((p = strchr (newargz[0], \'\\\\\')) != NULL)\n'> <' {\n'> <'\t*p = \'/\';\n'> <' }\n'> <' while ((p = strchr (lt_argv_zero, \'\\\\\')) != NULL)\n'> <' {\n'> <'\t*p = \'/\';\n'> <' }\n'> <' }\n'> ] ) ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' XFREE (target_name);\n'> <' XFREE (actual_cwrapper_path);\n'> <' XFREE (actual_cwrapper_name);\n'> <'\n'> <' lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */\n'> <' lt_setenv ("DUALCASE", "1"); /* for MSK sh */\n'> <' /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must\n'> < ' be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)\n' > <' because on Windows, both *_VARNAMEs are PATH but uninstalled\n'> <' libraries must come first. */\n'> <' lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n'> <' lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n'> <'\n'> <' lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\\n",\n'> <'\t\t nonnull (lt_argv_zero));\n'> <' for (i = 0; i < newargc; i++)\n'> <' {\n'> <' lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\\n",\n'> <'\t\t i, nonnull (newargz[i]));\n'> <' }\n'> <'\n'> ] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <mingw> pattern: (pat.Words words:[{<mingw> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ < ' /* execv doesn\'t actually work on mingw as expected on unix */\n' > <' newargz = prepare_spawn (newargz);\n'> < ' rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n' > <' if (rval == -1)\n'> <' {\n'> <' /* failed to start process */\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <'\t\t "(main) failed to launch target \\"%s\\": %s\\n",\n'> <'\t\t lt_argv_zero, nonnull (strerror (errno)));\n'> <' return 127;\n'> <' }\n'> <' return rval;\n'> ] ) ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' execv (lt_argv_zero, newargz);\n'> <' return rval; /* =127, but avoids unused variable warning */\n'> ] ) ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'}\n'> <'\n'> <'void *\n'> <'xmalloc (size_t num)\n'> <'{\n'> <' void *p = (void *) malloc (num);\n'> <' if (!p)\n'> <' lt_fatal (__FILE__, __LINE__, "memory exhausted");\n'> <'\n'> <' return p;\n'> <'}\n'> <'\n'> <'char *\n'> <'xstrdup (const char *string)\n'> <'{\n'> <' return string ? strcpy ((char *) xmalloc (strlen (string) + 1),\n'> <'\t\t\t string) : NULL;\n'> <'}\n'> <'\n'> <'const char *\n'> <'base_name (const char *name)\n'> <'{\n'> <' const char *base;\n'> <'\n'> <'#if defined HAVE_DOS_BASED_FILE_SYSTEM\n'> <' /* Skip over the disk name in MSDOS pathnames. */\n'> <' if (isalpha ((unsigned char) name[0]) && name[1] == \':\')\n'> <' name += 2;\n'> <'#endif\n'> <'\n'> <' for (base = name; *name; name++)\n'> <' if (IS_DIR_SEPARATOR (*name))\n'> <' base = name + 1;\n'> <' return base;\n'> <'}\n'> <'\n'> <'int\n'> <'check_executable (const char *path)\n'> <'{\n'> <' struct stat st;\n'> <'\n'> <' lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\\n",\n'> <' nonempty (path));\n'> <' if ((!path) || (!*path))\n'> <' return 0;\n'> <'\n'> <' if ((stat (path, &st) >= 0)\n'> <' && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))\n'> <' return 1;\n'> <' else\n'> <' return 0;\n'> <'}\n'> <'\n'> <'int\n'> <'make_executable (const char *path)\n'> <'{\n'> <' int rval = 0;\n'> <' struct stat st;\n'> <'\n'> <' lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\\n",\n'> <' nonempty (path));\n'> <' if ((!path) || (!*path))\n'> <' return 0;\n'> <'\n'> <' if (stat (path, &st) >= 0)\n'> <' {\n'> <' rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);\n'> <' }\n'> <' return rval;\n'> <'}\n'> <'\n'> <'/* Searches for the full path of the wrapper. Returns\n'> <' newly allocated full path name if found, NULL otherwise\n'> <' Does not chase symlinks, even on platforms that support them.\n'> <'*/\n'> <'char *\n'> <'find_executable (const char *wrapper)\n'> <'{\n'> <' int has_slash = 0;\n'> <' const char *p;\n'> <' const char *p_next;\n'> <' /* static buffer for getcwd */\n'> <' char tmp[LT_PATHMAX + 1];\n'> <' size_t tmp_len;\n'> <' char *concat_name;\n'> <'\n'> <' lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\\n",\n'> <' nonempty (wrapper));\n'> <'\n'> <' if ((wrapper == NULL) || (*wrapper == \'\\0\'))\n'> <' return NULL;\n'> <'\n'> <' /* Absolute path? */\n'> <'#if defined HAVE_DOS_BASED_FILE_SYSTEM\n'> <' if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == \':\')\n'> <' {\n'> <' concat_name = xstrdup (wrapper);\n'> <' if (check_executable (concat_name))\n'> <'\treturn concat_name;\n'> <' XFREE (concat_name);\n'> <' }\n'> <' else\n'> <' {\n'> <'#endif\n'> <' if (IS_DIR_SEPARATOR (wrapper[0]))\n'> <'\t{\n'> <'\t concat_name = xstrdup (wrapper);\n'> <'\t if (check_executable (concat_name))\n'> <'\t return concat_name;\n'> <'\t XFREE (concat_name);\n'> <'\t}\n'> <'#if defined HAVE_DOS_BASED_FILE_SYSTEM\n'> <' }\n'> <'#endif\n'> <'\n'> <' for (p = wrapper; *p; p++)\n'> <' if (*p == \'/\')\n'> <' {\n'> <'\thas_slash = 1;\n'> <'\tbreak;\n'> <' }\n'> <' if (!has_slash)\n'> <' {\n'> <' /* no slashes; search PATH */\n'> <' const char *path = getenv ("PATH");\n'> <' if (path != NULL)\n'> <'\t{\n'> <'\t for (p = path; *p; p = p_next)\n'> <'\t {\n'> <'\t const char *q;\n'> <'\t size_t p_len;\n'> <'\t for (q = p; *q; q++)\n'> <'\t\tif (IS_PATH_SEPARATOR (*q))\n'> <'\t\t break;\n'> <'\t p_len = (size_t) (q - p);\n'> <'\t p_next = (*q == \'\\0\' ? q : q + 1);\n'> <'\t if (p_len == 0)\n'> <'\t\t{\n'> <'\t\t /* empty path: current directory */\n'> <'\t\t if (getcwd (tmp, LT_PATHMAX) == NULL)\n'> <'\t\t lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",\n'> <' nonnull (strerror (errno)));\n'> <'\t\t tmp_len = strlen (tmp);\n'> <'\t\t concat_name =\n'> <'\t\t XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n'> <'\t\t memcpy (concat_name, tmp, tmp_len);\n'> <'\t\t concat_name[tmp_len] = \'/\';\n'> <'\t\t strcpy (concat_name + tmp_len + 1, wrapper);\n'> <'\t\t}\n'> <'\t else\n'> <'\t\t{\n'> <'\t\t concat_name =\n'> <'\t\t XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);\n'> <'\t\t memcpy (concat_name, p, p_len);\n'> <'\t\t concat_name[p_len] = \'/\';\n'> <'\t\t strcpy (concat_name + p_len + 1, wrapper);\n'> <'\t\t}\n'> <'\t if (check_executable (concat_name))\n'> <'\t\treturn concat_name;\n'> <'\t XFREE (concat_name);\n'> <'\t }\n'> <'\t}\n'> <' /* not found in PATH; assume curdir */\n'> <' }\n'> <' /* Relative path | not found in path: prepend cwd */\n'> <' if (getcwd (tmp, LT_PATHMAX) == NULL)\n'> <' lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",\n'> <' nonnull (strerror (errno)));\n'> <' tmp_len = strlen (tmp);\n'> <' concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n'> <' memcpy (concat_name, tmp, tmp_len);\n'> <' concat_name[tmp_len] = \'/\';\n'> <' strcpy (concat_name + tmp_len + 1, wrapper);\n'> <'\n'> <' if (check_executable (concat_name))\n'> <' return concat_name;\n'> <' XFREE (concat_name);\n'> <' return NULL;\n'> <'}\n'> <'\n'> <'char *\n'> <'chase_symlinks (const char *pathspec)\n'> <'{\n'> <'#ifndef S_ISLNK\n'> <' return xstrdup (pathspec);\n'> <'#else\n'> <' char buf[LT_PATHMAX];\n'> <' struct stat s;\n'> <' char *tmp_pathspec = xstrdup (pathspec);\n'> <' char *p;\n'> <' int has_symlinks = 0;\n'> <' while (strlen (tmp_pathspec) && !has_symlinks)\n'> <' {\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <'\t\t "checking path component for symlinks: %s\\n",\n'> <'\t\t tmp_pathspec);\n'> <' if (lstat (tmp_pathspec, &s) == 0)\n'> <'\t{\n'> <'\t if (S_ISLNK (s.st_mode) != 0)\n'> <'\t {\n'> <'\t has_symlinks = 1;\n'> <'\t break;\n'> <'\t }\n'> <'\n'> <'\t /* search backwards for last DIR_SEPARATOR */\n'> <'\t p = tmp_pathspec + strlen (tmp_pathspec) - 1;\n'> <'\t while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n'> <'\t p--;\n'> <'\t if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n'> <'\t {\n'> <'\t /* no more DIR_SEPARATORS left */\n'> <'\t break;\n'> <'\t }\n'> <'\t *p = \'\\0\';\n'> <'\t}\n'> <' else\n'> <'\t{\n'> <'\t lt_fatal (__FILE__, __LINE__,\n'> <'\t\t "error accessing file \\"%s\\": %s",\n'> <'\t\t tmp_pathspec, nonnull (strerror (errno)));\n'> <'\t}\n'> <' }\n'> <' XFREE (tmp_pathspec);\n'> <'\n'> <' if (!has_symlinks)\n'> <' {\n'> <' return xstrdup (pathspec);\n'> <' }\n'> <'\n'> <' tmp_pathspec = realpath (pathspec, buf);\n'> <' if (tmp_pathspec == 0)\n'> <' {\n'> <' lt_fatal (__FILE__, __LINE__,\n'> <'\t\t"could not follow symlinks for %s", pathspec);\n'> <' }\n'> <' return xstrdup (tmp_pathspec);\n'> <'#endif\n'> <'}\n'> <'\n'> <'char *\n'> <'strendzap (char *str, const char *pat)\n'> <'{\n'> <' size_t len, patlen;\n'> <'\n'> <' assert (str != NULL);\n'> <' assert (pat != NULL);\n'> <'\n'> <' len = strlen (str);\n'> <' patlen = strlen (pat);\n'> <'\n'> <' if (patlen <= len)\n'> <' {\n'> <' str += len - patlen;\n'> <' if (STREQ (str, pat))\n'> <'\t*str = \'\\0\';\n'> <' }\n'> <' return str;\n'> <'}\n'> <'\n'> <'void\n'> <'lt_debugprintf (const char *file, int line, const char *fmt, ...)\n'> <'{\n'> <' va_list args;\n'> <' if (lt_debug)\n'> <' {\n'> <' (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);\n'> <' va_start (args, fmt);\n'> <' (void) vfprintf (stderr, fmt, args);\n'> <' va_end (args);\n'> <' }\n'> <'}\n'> <'\n'> <'static void\n'> <'lt_error_core (int exit_status, const char *file,\n'> <'\t int line, const char *mode,\n'> <'\t const char *message, va_list ap)\n'> <'{\n'> <' fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);\n'> <' vfprintf (stderr, message, ap);\n'> <' fprintf (stderr, ".\\n");\n'> <'\n'> <' if (exit_status >= 0)\n'> <' exit (exit_status);\n'> <'}\n'> <'\n'> <'void\n'> <'lt_fatal (const char *file, int line, const char *message, ...)\n'> <'{\n'> <' va_list ap;\n'> <' va_start (ap, message);\n'> <' lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);\n'> <' va_end (ap);\n'> <'}\n'> <'\n'> <'static const char *\n'> <'nonnull (const char *s)\n'> <'{\n'> <' return s ? s : "(null)";\n'> <'}\n'> <'\n'> <'static const char *\n'> <'nonempty (const char *s)\n'> <'{\n'> <' return (s && !*s) ? "(empty)" : nonnull (s);\n'> <'}\n'> <'\n'> <'void\n'> <'lt_setenv (const char *name, const char *value)\n'> <'{\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <'\t\t "(lt_setenv) setting \'%s\' to \'%s\'\\n",\n'> <' nonnull (name), nonnull (value));\n'> <' {\n'> <'#ifdef HAVE_SETENV\n'> <' /* always make a copy, for consistency with !HAVE_SETENV */\n'> <' char *str = xstrdup (value);\n'> <' setenv (name, str, 1);\n'> <'#else\n'> <' size_t len = strlen (name) + 1 + strlen (value) + 1;\n'> <' char *str = XMALLOC (char, len);\n'> <' sprintf (str, "%s=%s", name, value);\n'> <' if (putenv (str) != EXIT_SUCCESS)\n'> <' {\n'> <' XFREE (str);\n'> <' }\n'> <'#endif\n'> <' }\n'> <'}\n'> <'\n'> <'char *\n'> <'lt_extend_str (const char *orig_value, const char *add, int to_end)\n'> <'{\n'> <' char *new_value;\n'> <' if (orig_value && *orig_value)\n'> <' {\n'> <' size_t orig_value_len = strlen (orig_value);\n'> <' size_t add_len = strlen (add);\n'> <' new_value = XMALLOC (char, add_len + orig_value_len + 1);\n'> <' if (to_end)\n'> <' {\n'> <' strcpy (new_value, orig_value);\n'> <' strcpy (new_value + orig_value_len, add);\n'> <' }\n'> <' else\n'> <' {\n'> <' strcpy (new_value, add);\n'> <' strcpy (new_value + add_len, orig_value);\n'> <' }\n'> <' }\n'> <' else\n'> <' {\n'> <' new_value = xstrdup (add);\n'> <' }\n'> <' return new_value;\n'> <'}\n'> <'\n'> <'void\n'> <'lt_update_exe_path (const char *name, const char *value)\n'> <'{\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <'\t\t "(lt_update_exe_path) modifying \'%s\' by prepending \'%s\'\\n",\n'> <' nonnull (name), nonnull (value));\n'> <'\n'> <' if (name && *name && value && *value)\n'> <' {\n'> <' char *new_value = lt_extend_str (getenv (name), value, 0);\n'> <' /* some systems can\'t cope with a \':\'-terminated path #\' */\n'> <' size_t len = strlen (new_value);\n'> <' while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))\n'> <' {\n'> <' new_value[--len] = \'\\0\';\n'> <' }\n'> <' lt_setenv (name, new_value);\n'> <' XFREE (new_value);\n'> <' }\n'> <'}\n'> <'\n'> <'void\n'> <'lt_update_lib_path (const char *name, const char *value)\n'> <'{\n'> <' lt_debugprintf (__FILE__, __LINE__,\n'> <'\t\t "(lt_update_lib_path) modifying \'%s\' by prepending \'%s\'\\n",\n'> <' nonnull (name), nonnull (value));\n'> <'\n'> <' if (name && *name && value && *value)\n'> <' {\n'> <' char *new_value = lt_extend_str (getenv (name), value, 0);\n'> <' lt_setenv (name, new_value);\n'> <' XFREE (new_value);\n'> <' }\n'> <'}\n'> <'\n'> ] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <mingw> pattern: (pat.Words words:[{<mingw> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'\n'> <'/* Prepares an argument vector before calling spawn().\n'> < ' Note that spawn() does not by itself call the command interpreter\n' > <' (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :\n'> < ' ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n' > <' GetVersionEx(&v);\n'> <' v.dwPlatformId == VER_PLATFORM_WIN32_NT;\n'> <' }) ? "cmd.exe" : "command.com").\n'> < ' Instead it simply concatenates the arguments, separated by \' \', and calls\n' > < ' CreateProcess(). We must quote the arguments since Win32 CreateProcess()\n' > < ' interprets characters like \' \', \'\\t\', \'\\\\\', \'"\' (but not \'<\' and \'>\') in a\n' > <' special way:\n'> < ' - Space and tab are interpreted as delimiters. They are not treated as\n' > < ' delimiters if they are surrounded by double quotes: "...".\n' > < ' - Unescaped double quotes are removed from the input. Their only effect is\n' > < ' that within double quotes, space and tab are treated like normal\n' > <' characters.\n'> < ' - Backslashes not followed by double quotes are not special.\n' > <' - But 2*n+1 backslashes followed by a double quote become\n'> <' n backslashes followed by a double quote (n >= 0):\n'> <' \\" -> "\n'> <' \\\\\\" -> \\"\n'> <' \\\\\\\\\\" -> \\\\"\n'> <' */\n'> < '#define SHELL_SPECIAL_CHARS "\\"\\\\ \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n' > < '#define SHELL_SPACE_CHARS " \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n' > <'char **\n'> <'prepare_spawn (char **argv)\n'> <'{\n'> <' size_t argc;\n'> <' char **new_argv;\n'> <' size_t i;\n'> <'\n'> <' /* Count number of arguments. */\n'> <' for (argc = 0; argv[argc] != NULL; argc++)\n'> <' ;\n'> <'\n'> <' /* Allocate new argument vector. */\n'> <' new_argv = XMALLOC (char *, argc + 1);\n'> <'\n'> <' /* Put quoted arguments into the new argument vector. */\n'> <' for (i = 0; i < argc; i++)\n'> <' {\n'> <' const char *string = argv[i];\n'> <'\n'> <' if (string[0] == \'\\0\')\n'> <'\tnew_argv[i] = xstrdup ("\\"\\"");\n'> <' else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)\n'> <'\t{\n'> < '\t int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);\n' > <'\t size_t length;\n'> <'\t unsigned int backslashes;\n'> <'\t const char *s;\n'> <'\t char *quoted_string;\n'> <'\t char *p;\n'> <'\n'> <'\t length = 0;\n'> <'\t backslashes = 0;\n'> <'\t if (quote_around)\n'> <'\t length++;\n'> <'\t for (s = string; *s != \'\\0\'; s++)\n'> <'\t {\n'> <'\t char c = *s;\n'> <'\t if (c == \'"\')\n'> <'\t\tlength += backslashes + 1;\n'> <'\t length++;\n'> <'\t if (c == \'\\\\\')\n'> <'\t\tbackslashes++;\n'> <'\t else\n'> <'\t\tbackslashes = 0;\n'> <'\t }\n'> <'\t if (quote_around)\n'> <'\t length += backslashes + 1;\n'> <'\n'> <'\t quoted_string = XMALLOC (char, length + 1);\n'> <'\n'> <'\t p = quoted_string;\n'> <'\t backslashes = 0;\n'> <'\t if (quote_around)\n'> <'\t *p++ = \'"\';\n'> <'\t for (s = string; *s != \'\\0\'; s++)\n'> <'\t {\n'> <'\t char c = *s;\n'> <'\t if (c == \'"\')\n'> <'\t\t{\n'> <'\t\t unsigned int j;\n'> <'\t\t for (j = backslashes + 1; j > 0; j--)\n'> <'\t\t *p++ = \'\\\\\';\n'> <'\t\t}\n'> <'\t *p++ = c;\n'> <'\t if (c == \'\\\\\')\n'> <'\t\tbackslashes++;\n'> <'\t else\n'> <'\t\tbackslashes = 0;\n'> <'\t }\n'> <'\t if (quote_around)\n'> <'\t {\n'> <'\t unsigned int j;\n'> <'\t for (j = backslashes; j > 0; j--)\n'> <'\t\t*p++ = \'\\\\\';\n'> <'\t *p++ = \'"\';\n'> <'\t }\n'> <'\t *p = \'\\0\';\n'> <'\n'> <'\t new_argv[i] = quoted_string;\n'> <'\t}\n'> <' else\n'> <'\tnew_argv[i] = (char *) string;\n'> <' }\n'> <' new_argv[argc] = NULL;\n'> <'\n'> <' return new_argv;\n'> <'}\n'> ] ) ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'void lt_dump_script (FILE* f)\n'> <'{\n'>] ) ) ] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <func_emit_wrapper> more_env: [] words: [{<func_emit_wrapper>} {<yes>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-n>} {<-e>} { (SQ <'\n'> <'s/^\\(.\\{79\\}\\)\\(..*\\)/\\1\\\n'> <'\\2/\n'> <'h\n'> <'s/\\([\\\\"]\\)/\\\\\\1/g\n'> <'s/$/\\\\n/\n'> <'s/\\([^\\n]*\\).*/ fputs ("\\1", f);/p\n'> <'g\n'> <D> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(DQ <EOF>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'}\n'>] ) ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_win32_import_lib_p> name: func_win32_import_lib_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {($ Id.VSub_DollarName file_magic_cmd)} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_Number 1) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [{($ Id.VSub_DollarName SED)} {<-e>} {<10q>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <Id.KW_Import import> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <false> more_env: [] words: [{<false>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_suncc_cstd_abi> name: func_suncc_cstd_abi body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName compile_command) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' -compat=g '>) <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <-std> <Id.Lit_Equals '='> <c> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> (DQ <' -library=stdcxx4 '>) <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> (DQ <' -library=stlport4 '>) <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'suncc_use_cstd_abi='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suncc_use_cstd_abi='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'suncc_use_cstd_abi='> name: suncc_use_cstd_abi ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'suncc_use_cstd_abi='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suncc_use_cstd_abi='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'suncc_use_cstd_abi='> name: suncc_use_cstd_abi ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_mode_link> name: func_mode_link body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'allow_undefined='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'allow_undefined='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'allow_undefined='> name: allow_undefined ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'allow_undefined='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'allow_undefined='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'allow_undefined='> name: allow_undefined ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libtool_args='> name:libtool_args) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'base_compile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base_compile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base_compile='> name:base_compile) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName nonopt) <' '> ($ Id.VSub_At '@'))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'compile_rpath='> name:compile_rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'finalize_rpath='> name:finalize_rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_shlibpath='> name: compile_shlibpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_shlibpath='> name: finalize_shlibpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'convenience='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'convenience='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'convenience='> name:convenience) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_convenience='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_convenience='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_convenience='> name: old_convenience ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'deplibs='> name:deplibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_deplibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'old_deplibs='> name:old_deplibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compiler_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compiler_flags='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'compiler_flags='> name:compiler_flags) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'linker_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linker_flags='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linker_flags='> name:linker_flags) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dllsearchpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dllsearchpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dllsearchpath='> name:dllsearchpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lib_search_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib_search_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_search_path='> name: lib_search_path ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'inst_prefix_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'inst_prefix_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'inst_prefix_dir='> name: inst_prefix_dir ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'new_inherited_linker_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_inherited_linker_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'new_inherited_linker_flags='> name: new_inherited_linker_flags ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'avoid_version='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'avoid_version='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'avoid_version='> name:avoid_version) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'bindir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bindir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bindir='> name:bindir) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlfiles='> name:dlfiles) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlprefiles='> name:dlprefiles) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlself='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlself='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlself='> name:dlself) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_dynamic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_dynamic='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'export_dynamic='> name:export_dynamic) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'export_symbols='> name:export_symbols) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols_regex='> name: export_symbols_regex ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'generated='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'generated='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'generated='> name:generated) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobjs='> name:libobjs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ltlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ltlibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ltlibs='> name:ltlibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'module='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'module='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'module='> name:module) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'no_install='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'no_install='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'no_install='> name:no_install) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objs='> name:objs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'os2dllname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'os2dllname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'os2dllname='> name:os2dllname) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_objects='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_objects='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_objects='> name: non_pic_objects ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'precious_files_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'precious_files_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'precious_files_regex='> name: precious_files_regex ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefer_static_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefer_static_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prefer_static_libs='> name: prefer_static_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'preload='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'preload='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'preload='> name:preload) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prevarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prevarg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prevarg='> name:prevarg) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'release='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'release='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'release='> name:release) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rpath='> name:rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'xrpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xrpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrpath='> name:xrpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'perm_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'perm_rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'perm_rpath='> name:perm_rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'temp_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'temp_rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'temp_rpath='> name:temp_rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'thread_safe='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'thread_safe='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'thread_safe='> name:thread_safe) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'vinfo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vinfo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vinfo='> name:vinfo) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'vinfo_number='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vinfo_number='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vinfo_number='> name:vinfo_number) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'weak_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'weak_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'weak_libs='> name:weak_libs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'single_module='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'single_module='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'single_module='> name:single_module) op: assign_op.Equal rhs: {($ Id.VSub_DollarName wl) <-single_module>} ) ] redirects: [] ) (command.Simple blame_tok: <func_infer_tag> more_env: [] words: [{<func_infer_tag>} {($ Id.VSub_DollarName base_compile)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-shared> pattern: (pat.Words words:[{<-shared>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'cannot build a shared library'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-all-static> pattern: (pat.Words words: [{<-all-static>} {<-static>} {<-static-libtool-libs>}] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-all-static> pattern: (pat.Words words:[{<-all-static>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName link_static_flag ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ < 'complete static linking is impossible in this configuration' > ) } ] redirects: [] do_fork: T ) ] spids: [29466 29489] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName link_static_flag))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlopen_self='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlopen_self='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlopen_self='> name: dlopen_self ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlopen_self_static)} ) ] redirects: [] ) ] spids: [29502 29513] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefer_static_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefer_static_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prefer_static_libs='> name: prefer_static_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-static> pattern: (pat.Words words:[{<-static>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName pic_flag))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName link_static_flag ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlopen_self='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlopen_self='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlopen_self='> name: dlopen_self ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlopen_self_static)} ) ] redirects: [] ) ] spids: [29534 29555] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefer_static_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefer_static_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prefer_static_libs='> name: prefer_static_libs ) op: assign_op.Equal rhs: {<built>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-static-libtool-libs> pattern: (pat.Words words:[{<-static-libtool-libs>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName pic_flag))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName link_static_flag ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlopen_self='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlopen_self='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlopen_self='> name: dlopen_self ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlopen_self_static)} ) ] redirects: [] ) ] spids: [29576 29597] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefer_static_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefer_static_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prefer_static_libs='> name: prefer_static_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_archive_from_new_cmds))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_Pound '#'))} {<-gt>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'qarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'qarg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'qarg='> name:qarg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_unquoted_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libtool_args>} {(DQ <' '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName prev))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName prev)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <output> pattern: (pat.Words words:[{<output>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<compile_command>} {(DQ <' @OUTPUT@'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<finalize_command>} {(DQ <' @OUTPUT@'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName prev)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <bindir> pattern: (pat.Words words:[{<bindir>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'bindir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bindir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bindir='> name: bindir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dlfiles> pattern: (pat.Words words:[{<dlfiles>} {<dlprefiles>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$preload'> more_env: [] words: [{($ Id.VSub_DollarName preload)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' @SYMFILE@'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' @SYMFILE@'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'preload='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'preload='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'preload='> name: preload ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <.la>} {<Id.Lit_Star '*'> <.lo>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <force> pattern: (pat.Words words:[{<force>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlself))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlself='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlself='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlself='> name: dlself ) op: assign_op.Equal rhs: {<needless>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_dynamic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_dynamic='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_dynamic='> name: export_dynamic ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [29852 29865] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <self> pattern: (pat.Words words:[{<self>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlprefiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlself='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlself='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlself='> name: dlself ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [29892 29905] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlfiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName dlopen_self ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlself='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlself='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlself='> name: dlself ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [29912 29938] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlself='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlself='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlself='> name: dlself ) op: assign_op.Equal rhs: {<needless>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_dynamic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_dynamic='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_dynamic='> name: export_dynamic ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlfiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlfiles>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] spids: [29972 29985] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <expsyms> pattern: (pat.Words words:[{<expsyms>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'symbol file \''> ($ Id.VSub_DollarName arg) <'\' does not exist'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <expsyms_regex> pattern: (pat.Words words:[{<expsyms_regex>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols_regex='> name: export_symbols_regex ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <framework> pattern: (pat.Words words:[{<framework>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName deplibs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName qarg) <'.ltframework '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} { (DQ <' '> ($ Id.VSub_DollarName qarg) <.ltframework> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <inst_prefix> pattern: (pat.Words words:[{<inst_prefix>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'inst_prefix_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'inst_prefix_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'inst_prefix_dir='> name: inst_prefix_dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <mllvm> pattern: (pat.Words words:[{<mllvm>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <objectlist> pattern: (pat.Words words:[{<objectlist>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_arg='> name: save_arg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'moreargs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'moreargs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'moreargs='> name: moreargs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [fil] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} {(DQ ($ Id.VSub_DollarName save_arg))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg='> name: arg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName fil)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_lalib_unsafe_p> more_env: [] words: [ {<func_lalib_unsafe_p>} { (DQ ($ Id.VSub_DollarName arg) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_object=' > name: pic_object ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object=' > name: non_pic_object ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName non_pic_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName non_pic_object ) ) } ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_DPipe _> <Id.Op_DPipe _> <Id.Op_DAmp _> ] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ < 'cannot find name of object for \'' > ($ Id.VSub_DollarName arg) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [30293 30341] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName arg))} {(DQ <'/'>)} {(DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'xdir='> name: xdir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_dirname_result ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_object=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_object=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_object=' > name: pic_object ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName xdir ) ($ Id.VSub_DollarName pic_object) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlfiles>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName prev ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < yes > } { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < yes > } { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName dlopen_support ) ) } ] redirects: [] do_fork: T ) ] ops: [ < Id.Op_DAmp _ > ] ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: < func_append > more_env: [] words: [ { < func_append > } {<dlfiles>} { (DQ <' '> ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: < Id.Lit_VarLike 'prev=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'prev=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'prev=' > name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: < Id.ControlFlow_Continue continue > ) ] spids: [30423 30448] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'prev=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'prev=' > name: prev ) op: assign_op.Equal rhs: { < dlprefiles > } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [30407 30420] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { < dlprefiles > } { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName prev ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'prev=' > name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [30489 30502] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} { (DQ <' '> ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg=' > name: arg ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName pic_object ) } ) ] redirects: [] ) ] spids: [30380 30394] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName non_pic_object ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object=' > name: non_pic_object ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName xdir ) ($ Id.VSub_DollarName non_pic_object) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<non_pic_objects>} { (DQ <' '> ($ Id.VSub_DollarName non_pic_object ) ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) ] ops: [ < Id.Op_DPipe _ > ] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'arg=' > name: arg ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName non_pic_object ) } ) ] redirects: [] ) ] spids: [30593 30616] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [30552 30566] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object=' > name: non_pic_object ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName pic_object ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<non_pic_objects>} { (DQ <' '> ($ Id.VSub_DollarName non_pic_object ) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [30262 30271] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_dry_run ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName arg))} {(DQ <'/'>)} {(DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'xdir='> name: xdir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_dirname_result ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_lo2o> more_env: [] words: [ {<func_lo2o>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_object=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_object=' > name: pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName objdir ) <'/'> ($ Id.VSub_DollarName func_lo2o_result) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object=' > name: non_pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName func_lo2o_result ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} { (DQ <' '> ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<non_pic_objects>} { (DQ <' '> ($ Id.VSub_DollarName non_pic_object ) ) } ] redirects: [] do_fork: T ) ] spids: [30661 30666] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName arg) <'\' is not a valid libtool object'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [30205 30216] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'link input file \''> ($ Id.VSub_DollarName arg) <'\' does not exist'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg='> name: arg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <os2dllname> pattern: (pat.Words words:[{<os2dllname>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'os2dllname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'os2dllname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'os2dllname='> name: os2dllname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <precious_regex> pattern: (pat.Words words:[{<precious_regex>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'precious_files_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'precious_files_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'precious_files_regex='> name: precious_files_regex ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <release> pattern: (pat.Words words:[{<release>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'release='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'release='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'release='> name: release ) op: assign_op.Equal rhs: {<-> ($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <rpath> pattern: (pat.Words words:[{<rpath>} {<xrpath>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'only absolute run-paths are allowed'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<rpath>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName rpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName arg) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rpath>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [30890 30903] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName xrpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName arg) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<xrpath>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <shrext> pattern: (pat.Words words:[{<shrext>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'shrext_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'shrext_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'shrext_cmds='> name: shrext_cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <weak> pattern: (pat.Words words:[{<weak>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<weak_libs>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xcclinker> pattern: (pat.Words words:[{<xcclinker>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xcompiler> pattern: (pat.Words words:[{<xcompiler>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xlinker> pattern: (pat.Words words:[{<xlinker>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName qarg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} { (DQ <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName qarg) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} { (DQ <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName qarg) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} { (DQ <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName qarg) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName prev) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <arg> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [29710 29721] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prevarg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prevarg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prevarg='> name:prevarg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-all-static> pattern: (pat.Words words:[{<-all-static>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName link_static_flag))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName link_static_flag))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName link_static_flag))} ] redirects: [] do_fork: T ) ] spids: [31244 31255] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-allow-undefined> pattern: (pat.Words words:[{<-allow-undefined>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ < '\'-allow-undefined\' must not be used because it is the default' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-avoid-version> pattern: (pat.Words words:[{<-avoid-version>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'avoid_version='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'avoid_version='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'avoid_version='> name: avoid_version ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-bindir> pattern: (pat.Words words:[{<-bindir>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<bindir>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-dlopen> pattern: (pat.Words words:[{<-dlopen>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<dlfiles>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-dlpreopen> pattern: (pat.Words words:[{<-dlpreopen>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<dlprefiles>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-export-dynamic> pattern: (pat.Words words:[{<-export-dynamic>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'export_dynamic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_dynamic='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_dynamic='> name: export_dynamic ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-export-symbols> pattern: (pat.Words words:[{<-export-symbols>} {<-export-symbols-regex>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName export_symbols_regex))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ < 'more than one -exported-symbols argument is not allowed' > ) } ] redirects: [] do_fork: T ) ] spids: [31394 31415] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-export-symbols>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: {<expsyms>} ) ] redirects: [] ) ] spids: [31428 31442] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<expsyms_regex>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-framework> pattern: (pat.Words words:[{<-framework>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<framework>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-inst-prefix-dir> pattern: (pat.Words words:[{<-inst-prefix-dir>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<inst_prefix>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-L> pattern: (pat.Words words: [ {<-L> <Id.Lit_LBracket '['> <A-Z> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <A-Z> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName with_gcc) <'/'> ($ Id.VSub_DollarName host)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <'no/'> pattern: (pat.Words words: [ {<'no/'> <Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-irix> <Id.Lit_Star '*'> } {<'/'> <Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-irix> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-L> pattern: (pat.Words words:[{<-L> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(DQ <-L>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName func_stripname_result))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_Pound '#'))} {<-gt>} {<0>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'require no space between \'-L\' and \''> ($ Id.VSub_Number 1) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [31610 31623] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'need path for \'-L\' option'>)} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [31596 31607] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName func_stripname_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_resolve_sysroot_result)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName dir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir='> name: absdir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ ($ Id.VSub_DollarName dir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName absdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot determine absolute directory name of \''> ($ Id.VSub_DollarName dir) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName absdir)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName deplibs) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' -L'> ($ Id.VSub_DollarName dir) <' '>) <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName arg) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName dir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_Equals '='> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} {(DQ <' -L'> ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<lib_search_path>} {(DQ <' '> ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'testbindir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'testbindir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'testbindir='> name: testbindir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s*/lib$*/bin*'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName dllsearchpath) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName dir) <':'>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words: [{<Id.Lit_Colon ':'> <Id.Lit_Colon ':'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dllsearchpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dllsearchpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dllsearchpath='> name: dllsearchpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dllsearchpath>} {(DQ <':'> ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName dllsearchpath) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName testbindir) <':'>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words: [{<Id.Lit_Colon ':'> <Id.Lit_Colon ':'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dllsearchpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dllsearchpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dllsearchpath='> name: dllsearchpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName testbindir)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dllsearchpath>} {(DQ <':'> ($ Id.VSub_DollarName testbindir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-l> pattern: (pat.Words words:[{<-l> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lc>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lm>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-beos> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-haiku> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lc>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-openbsd> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-dragonfly> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-bitrig> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lc>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-rhapsody> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin1.> <Id.Lit_LBracket '['> <012> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} {(DQ <' System.ltframework'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sco3.2v5> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sco5v6> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lc>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv4.2uw2> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv5> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-unixware> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-OpenUNIX> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lc>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [32045 32072] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<X-lc_r>} {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-openbsd> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-dragonfly> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-bitrig> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [32358 32372] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<deplibs>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-mllvm> pattern: (pat.Words words:[{<-mllvm>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<mllvm>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-module> pattern: (pat.Words words:[{<-module>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'module='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'module='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'module='> name:module) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-model> pattern: (pat.Words words: [{<-model>} {<-arch>} {<-isysroot>} {<--sysroot>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<xcompiler>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-mt> pattern: (pat.Words words: [ {<-mt>} {<-mthreads>} {<-kthread>} {<-Kthread>} {<-pthread>} {<-pthreads>} {<--thread-safe>} {<-threads>} {<-fopenmp>} {<-openmp>} {<-mp>} {<-xopenmp>} {<-omp>} {<-qsmp> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName new_inherited_linker_flags) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName arg) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_inherited_linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-multi_module> pattern: (pat.Words words:[{<-multi_module>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'single_module='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'single_module='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'single_module='> name: single_module ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName wl) <-multi_module>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-no-fast-install> pattern: (pat.Words words:[{<-no-fast-install>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fast_install='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fast_install='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'fast_install='> name: fast_install ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-no-install> pattern: (pat.Words words:[{<-no-install>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\'-no-install\' is ignored for '> ($ Id.VSub_DollarName host) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'assuming \'-no-fast-install\' instead'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fast_install='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fast_install='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'fast_install='> name: fast_install ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'no_install='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'no_install='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'no_install='> name: no_install ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-no-undefined> pattern: (pat.Words words:[{<-no-undefined>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'allow_undefined='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'allow_undefined='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'allow_undefined='> name: allow_undefined ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-objectlist> pattern: (pat.Words words:[{<-objectlist>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<objectlist>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-os2dllname> pattern: (pat.Words words:[{<-os2dllname>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<os2dllname>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-o> pattern: (pat.Words words:[{<-o>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<output>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-precious-files-regex> pattern: (pat.Words words:[{<-precious-files-regex>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<precious_regex>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-release> pattern: (pat.Words words:[{<-release>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<release>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-rpath> pattern: (pat.Words words:[{<-rpath>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<rpath>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-R> pattern: (pat.Words words:[{<-R>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<xrpath>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-R> pattern: (pat.Words words:[{<-R> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-R>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName dir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Equals '='> pattern: (pat.Words words: [{<Id.Lit_Equals '='> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'='>)} {(SQ )} {(DQ ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lt_sysroot) ($ Id.VSub_DollarName func_stripname_result) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} {(DQ <'only absolute run-paths are allowed'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName xrpath) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName dir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<xrpath>} {(DQ <' '> ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-shared> pattern: (pat.Words words:[{<-shared>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] right: <Id.Op_DSemi _> ) (CaseArm left: <-shrext> pattern: (pat.Words words:[{<-shrext>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<shrext>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-static> pattern: (pat.Words words:[{<-static>} {<-static-libtool-libs>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] right: <Id.Op_DSemi _> ) (CaseArm left: <-thread-safe> pattern: (pat.Words words:[{<-thread-safe>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'thread_safe='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'thread_safe='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'thread_safe='> name: thread_safe ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-version-info> pattern: (pat.Words words:[{<-version-info>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<vinfo>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-version-number> pattern: (pat.Words words:[{<-version-number>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<vinfo>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'vinfo_number='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vinfo_number='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'vinfo_number='> name: vinfo_number ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-weak> pattern: (pat.Words words:[{<-weak>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<weak>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Wc> pattern: (pat.Words words:[{<-Wc> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'-Wc,'>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Comma ','>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [flag] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName args)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName flag))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<arg>} {(DQ <' '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <' '>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Wl> pattern: (pat.Words words:[{<-Wl> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <'-Wl,'>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Comma ','>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [flag] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName args)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName flag))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<arg>} { (DQ <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} { (DQ <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName func_quote_for_eval_result))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <' '>)} {(SQ )} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Xcompiler> pattern: (pat.Words words:[{<-Xcompiler>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<xcompiler>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Xlinker> pattern: (pat.Words words:[{<-Xlinker>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<xlinker>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-XCClinker> pattern: (pat.Words words:[{<-XCClinker>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev='> name:prev) op: assign_op.Equal rhs: {<xcclinker>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-msg_> pattern: (pat.Words words:[{<-msg_> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-64> pattern: (pat.Words words: [ {<-64>} {<-mips> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>} {<-r> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<-xarch> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-xtarget> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<Id.Lit_Other '+'> <DA> <Id.Lit_Star '*'>} {<Id.Lit_Other '+'> <DD> <Id.Lit_Star '*'>} {<-q> <Id.Lit_Star '*'>} {<-m> <Id.Lit_Star '*'>} {<-t> <Id.Lit_LBracket '['> <45> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {<-txscale> <Id.Lit_Star '*'>} {<-p>} {<-pg>} {<--coverage>} {<-fprofile-> <Id.Lit_Star '*'>} {<-F> <Id.Lit_Star '*'>} {<Id.Lit_At '@'> <Id.Lit_Star '*'>} {<-tp> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<--sysroot> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-O> <Id.Lit_Star '*'>} {<-g> <Id.Lit_Star '*'>} {<-flto> <Id.Lit_Star '*'>} {<-fwhopr> <Id.Lit_Star '*'>} {<-fuse-linker-plugin>} {<-fstack-protector> <Id.Lit_Star '*'>} {<-stdlib> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-specs> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-fsanitize> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-Z> pattern: (pat.Words words:[{<-Z> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<os2>} {<Id.Lit_Equals '='>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {($ Id.VSub_DollarName host)} {<Id.Lit_Colon ':'>} {(SQ <'.*\\(os2\\)'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compiler_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compiler_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compiler_flags='> name: compiler_flags ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName compiler_flags) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-Zlinker> pattern: (pat.Words words:[{<-Zlinker>} {<-Zstack>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: {<xcompiler>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [33707 33736] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words: [{<-> <Id.Lit_Star '*'>} {<Id.Lit_Other '+'> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName objext)}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<objs>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_lalib_unsafe_p> more_env: [] words: [ {<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_object='> name: pic_object ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object='> name: non_pic_object ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName non_pic_object) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName non_pic_object) ) } ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_DPipe _> <Id.Op_DPipe _> <Id.Op_DAmp _> ] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot find name of object for \''> ($ Id.VSub_DollarName arg) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [33922 33970] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName arg))} {(DQ <'/'>)} {(DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'xdir='> name: xdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_object='> name: pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName pic_object) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlfiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName dlopen_support ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlfiles>} { (DQ <' '> ($ Id.VSub_DollarName pic_object) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [34050 34075] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: {<dlprefiles>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [34034 34047] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlprefiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} {(DQ <' '> ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [34116 34129] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} {(DQ <' '> ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg='> name: arg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName pic_object)} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName non_pic_object))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object='> name: non_pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName non_pic_object) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<non_pic_objects>} {(DQ <' '> ($ Id.VSub_DollarName non_pic_object))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'arg='> name: arg ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName non_pic_object)} ) ] redirects: [] ) ] spids: [34220 34243] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [34179 34193] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object='> name: non_pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName pic_object)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<non_pic_objects>} {(DQ <' '> ($ Id.VSub_DollarName non_pic_object))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [33891 33900] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName arg))} {(DQ <'/'>)} {(DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'xdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'xdir='> name: xdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_lo2o> more_env: [] words: [{<func_lo2o>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pic_object='> name: pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName func_lo2o_result) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'non_pic_object='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'non_pic_object='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_pic_object='> name: non_pic_object ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName xdir) ($ Id.VSub_DollarName func_lo2o_result) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} {(DQ <' '> ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<non_pic_objects>} {(DQ <' '> ($ Id.VSub_DollarName non_pic_object))} ] redirects: [] do_fork: T ) ] spids: [34288 34293] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName arg) <'\' is not a valid libtool object'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName libext)}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<deplibs>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<old_deplibs>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [{<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlfiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlfiles>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result)) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [34434 34447] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlprefiles>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName prev))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result)) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'prev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prev='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'prev='> name: prev ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [34467 34480] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} {(DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arg='> name:arg) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_quote_for_eval_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] spids: [34564 34575] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName prev))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'the \''> ($ Id.VSub_DollarName prevarg) <'\' option requires an argument'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName export_dynamic))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName export_dynamic_flag_spec))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'arg='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName export_dynamic_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName arg))} ] redirects: [] do_fork: T ) ] spids: [34630 34653] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldlibs='> name:oldlibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'outputname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'outputname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'outputname='> name:outputname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs_save='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs_save='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobjs_save='> name:libobjs_save) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libobjs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'shlib_search_path='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <ECHO> } {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\|'> ch:'|')} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <SED>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') <'s/'> <Id.Lit_Colon ':'> <'/'> } {<'/g'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) } ] redirects: [] do_fork: T ) ] spids: [34711 34722] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'shlib_search_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'shlib_search_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'shlib_search_path='> name: shlib_search_path ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'sys_lib_search_path='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName sys_lib_search_path_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'sys_lib_dlsearch_path='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName sys_lib_dlsearch_path_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_munge_path_list> more_env: [] words: [ {<func_munge_path_list>} {<sys_lib_dlsearch_path>} {(DQ ($ Id.VSub_DollarName LT_SYS_LIBRARY_PATH))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [{<func_dirname>} {(DQ ($ Id.VSub_DollarName output))} {(DQ <'/'>)} {(DQ )}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output_objdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_objdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output_objdir='> name:output_objdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result) ($ Id.VSub_DollarName objdir)} ) ] redirects: [] ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [{<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName output_objdir) <'/'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tool_output_objdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tool_output_objdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tool_output_objdir='> name: tool_output_objdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_to_tool_file_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_mkdir_p> more_env: [] words: [{<func_mkdir_p>} {(DQ ($ Id.VSub_DollarName output_objdir))}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName output)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify an output file'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName libext)}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linkmode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linkmode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linkmode='> name:linkmode) op: assign_op.Equal rhs: {<oldlib>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <.lo>} {<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName objext)} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linkmode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linkmode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linkmode='> name:linkmode) op: assign_op.Equal rhs: {<obj>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linkmode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linkmode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linkmode='> name:linkmode) op: assign_op.Equal rhs: {<lib>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linkmode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linkmode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linkmode='> name:linkmode) op: assign_op.Equal rhs: {<prog>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'specialdeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'specialdeplibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'specialdeplibs='> name:specialdeplibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libs='> name:libs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName deplibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_preserve_dup_deps'> more_env: [] words: [{($ Id.VSub_DollarName opt_preserve_dup_deps)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName libs) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<specialdeplibs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [34945 34950] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libs='> name:libs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName predeps) <' '> ($ Id.VSub_DollarName libs) <' '> ($ Id.VSub_DollarName compiler_lib_search_path) <' '> ($ Id.VSub_DollarName postdeps) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pre_post_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pre_post_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pre_post_deps='> name: pre_post_deps ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_duplicate_compiler_generated_deps'> more_env: [] words: [ { ($ Id.VSub_DollarName opt_duplicate_compiler_generated_deps) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [pre_post_dep] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName predeps)} {($ Id.VSub_DollarName postdeps)} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName pre_post_deps) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName pre_post_dep) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<specialdeplibs>} {(DQ <' '> ($ Id.VSub_DollarName pre_post_deps))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<pre_post_deps>} {(DQ <' '> ($ Id.VSub_DollarName pre_post_dep))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [35048 35053] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pre_post_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pre_post_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pre_post_deps='> name: pre_post_deps ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [35004 35017] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'deplibs='> name:deplibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newlib_search_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newlib_search_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newlib_search_path='> name: newlib_search_path ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'need_relink='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'need_relink='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'need_relink='> name:need_relink) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'notinst_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'notinst_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'notinst_deplibs='> name: notinst_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'notinst_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'notinst_path='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'notinst_path='> name:notinst_path) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName linkmode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <lib> pattern: (pat.Words words:[{<lib>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'passes='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'passes='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'passes='> name:passes) op: assign_op.Equal rhs: {(DQ <'conv dlpreopen link'>)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dlfiles)} {($ Id.VSub_DollarName dlprefiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'libraries can \'-dlopen\' only libtool libraries: '> ($ Id.VSub_DollarName file) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <prog> pattern: (pat.Words words:[{<prog>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'alldeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alldeplibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'alldeplibs='> name:alldeplibs) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdlfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'newdlfiles='> name:newdlfiles) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdlprefiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdlprefiles='> name: newdlprefiles ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'passes='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'passes='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'passes='> name:passes) op: assign_op.Equal rhs: {(DQ <'conv scan dlopen dlpreopen link'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'passes='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'passes='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'passes='> name:passes) op: assign_op.Equal rhs: {(DQ <conv>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [pass] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName passes)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmp_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_deplibs='> name: tmp_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName deplibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmp_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_deplibs='> name: tmp_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName tmp_deplibs) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tmp_deplibs)} ) ] redirects: [] ) ] spids: [35290 35307] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <scan>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libs='> name:libs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName deplibs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [35352 35386] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName pass)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <dlopen> pattern: (pat.Words words:[{<dlopen>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libs='> name: libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlfiles)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dlpreopen> pattern: (pat.Words words:[{<dlpreopen>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libs='> name: libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlprefiles)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <link> pattern: (pat.Words words:[{<link>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libs='> name: libs ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName deplibs) <' %DEPLIBS%'>)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName link_all_deplibs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<Xno>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libs='> name: libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName libs) <' '> ($ Id.VSub_DollarName dependency_libs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [35399 35412] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib> <Id.Lit_Comma ','> <dlpreopen>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName dlprefiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [{<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName lib))}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName lib)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} { (DQ ($ Id.VSub_DollarName func_resolve_sysroot_result) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplib_base='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplib_base='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplib_base='> name: deplib_base ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName weak_libs) <' '>) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib_base) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libs='> name:libs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlprefiles)} ) ] redirects: [] ) ] spids: [35482 35499] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlopen>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_deplibs='> name: save_deplibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName deplibs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [35641 35654] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName libs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lib='> name:lib) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'found='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'found='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'found='> name:found) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName deplib)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-mt> pattern: (pat.Words words: [ {<-mt>} {<-mthreads>} {<-kthread>} {<-Kthread>} {<-pthread>} {<-pthreads>} {<--thread-safe>} {<-threads>} {<-fopenmp>} {<-openmp>} {<-mp>} {<-xopenmp>} {<-omp>} {<-qsmp> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [35733 35750] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compiler_flags>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags ) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_inherited_linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [35782 35795] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-l> pattern: (pat.Words words:[{<-l> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-l\' is ignored for archives/objects'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [35856 35883] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-l>)} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'searchdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'searchdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'searchdirs='> name: searchdirs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName newlib_search_path) <' '> ($ Id.VSub_DollarName lib_search_path) <' '> ($ Id.VSub_DollarName compiler_lib_search_dirs) <' '> ($ Id.VSub_DollarName sys_lib_search_path) <' '> ($ Id.VSub_DollarName shlib_search_path) ) } ) ] redirects: [] ) ] spids: [35917 35930] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'searchdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'searchdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'searchdirs='> name: searchdirs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName newlib_search_path) <' '> ($ Id.VSub_DollarName lib_search_path) <' '> ($ Id.VSub_DollarName sys_lib_search_path) <' '> ($ Id.VSub_DollarName shlib_search_path) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [searchdir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName searchdirs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [search_ext] iterable: (for_iter.Words words: [ {<.la>} {($ Id.VSub_DollarName std_shrext)} {<.so>} {<.a>} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib='> name: lib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName searchdir) <'/lib'> ($ Id.VSub_DollarName name) ($ Id.VSub_DollarName search_ext) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName lib) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<.la>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName search_ext ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'found='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'found='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'found=' > name: found ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] spids: [36020 36033] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'found='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'found='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'found='> name: found ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> arg_word: {<2>} ) ] spids: [36006 36017] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$found'> more_env: [] words: [{($ Id.VSub_DollarName found)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName predeps) <' '> ($ Id.VSub_DollarName postdeps) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_lalib_p> more_env: [] words: [ {<func_lalib_p>} { (DQ ($ Id.VSub_DollarName lib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'library_names=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'library_names=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'library_names=' > name: library_names ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_library=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_library=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_library=' > name: old_library ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} { (DQ ($ Id.VSub_DollarName lib) ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [l] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName old_library ) } { ($ Id.VSub_DollarName library_names ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'll=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'll=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'll=' > name: ll ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName l ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <X> ($ Id.VSub_DollarName ll ) ) } { < Id.Lit_Equals '=' > } { (DQ <X> ($ Id.VSub_DollarName old_library ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'found=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'found=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'found=' > name: found ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} { (DQ ($ Id.VSub_DollarName lib ) ) } {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ladir=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'ladir=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'ladir=' > name: ladir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_dirname_result ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lib=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'lib=' > name: lib ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName ladir ) <'/'> ($ Id.VSub_DollarName old_library) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < prog > <Id.Lit_Comma ','> <link> } { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName linkmode ) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: < Id.Lit_VarLike 'compile_deplibs=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'compile_deplibs=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'compile_deplibs=' > name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib ) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: < Id.Lit_VarLike 'finalize_deplibs=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'finalize_deplibs=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'finalize_deplibs=' > name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib ) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [36220 36237] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'deplibs=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'deplibs=' > name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib ) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName linkmode ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: < Id.Lit_VarLike 'newdependency_libs=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'newdependency_libs=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'newdependency_libs=' > name: newdependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib ) <' '> ($ Id.VSub_DollarName newdependency_libs) ) } ) ] redirects: [] ) ] ops: [ <Id.Op_DAmp _> ] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: < Id.ControlFlow_Continue continue > ) ] spids: [36169 36186] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [36123 36132] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [36084 36097] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [36064 36069] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [36321 36338] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName newdependency_libs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.ltframework>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [36408 36425] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags ) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_inherited_linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [36455 36468] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-L> pattern: (pat.Words words:[{<-L> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName linkmode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <lib> pattern: (pat.Words words:[{<lib>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<conv>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName newdependency_libs) ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-L>)} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName func_stripname_result))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newlib_search_path>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <prog> pattern: (pat.Words words:[{<prog>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<conv>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [36609 36622] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<scan>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] spids: [36639 36652] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-L>)} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName func_stripname_result))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newlib_search_path>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-L\' is ignored for archives/objects'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-R> pattern: (pat.Words words:[{<-R> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<link>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-R>)} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName func_stripname_result))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_resolve_sysroot_result ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName xrpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName dir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<xrpath>} {(DQ <' '> ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [36753 36766] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib='> name: lib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_resolve_sysroot_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName libext)}] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<conv>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [36880 36893] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName linkmode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <lib> pattern: (pat.Words words:[{<lib>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName dlpreconveniencelibs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'valid_a_lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'valid_a_lib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'valid_a_lib='> name: valid_a_lib ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName deplibs_check_method ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <match_pattern> pattern: (pat.Words words: [ {<match_pattern> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} { ($ Id.VSub_DollarName deplibs_check_method ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'match_pattern_regex=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'match_pattern_regex=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'match_pattern_regex=' > name: match_pattern_regex ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} { (DQ ($ Id.VSub_DollarName deplibs_check_method ) ) } {<Id.Lit_Colon ':'>} { (DQ ($ Id.VSub_Number 1) <' '> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')'> ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName deplib ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } {<10q>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$EGREP' > more_env: [] words: [ { ($ Id.VSub_DollarName EGREP ) } { (DQ ($ Id.VSub_DollarName match_pattern_regex ) ) } ] redirects: [ (Redir op: < Id.Redir_Great '>' > loc: (redir_loc.Fd fd: 1 ) arg: { < '/dev/null' > } ) ] do_fork: T ) ] ops: [ <Id.Op_Pipe _> <Id.Op_Pipe _> ] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'valid_a_lib=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'valid_a_lib=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'valid_a_lib=' > name: valid_a_lib ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] spids: [37009 37045] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <pass_all> pattern: (pat.Words words:[{<pass_all>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'valid_a_lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'valid_a_lib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'valid_a_lib=' > name: valid_a_lib ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$valid_a_lib' > more_env: [] words: [ { ($ Id.VSub_DollarName valid_a_lib ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** Warning: Linking the shared library ' > ($ Id.VSub_DollarName output) <' against the'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** static library '> ($ Id.VSub_DollarName deplib) <' is not portable!'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] spids: [37072 37077] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** Warning: Trying to link with static lib archive ' > ($ Id.VSub_DollarName deplib) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** I have the capability to make that library automatically link in when' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** you link to this library. But I can only do this if you have a' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** shared version of the library, which you do not appear to have' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** because the file extensions .' > ($ Id.VSub_DollarName libext) <' of this argument makes me believe'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** that it is just a static archive that I should not use here.' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <prog> pattern: (pat.Words words:[{<prog>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<link>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] spids: [37180 37194] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <.lo>} {<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName objext)} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<conv>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] spids: [37256 37269] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlpreopen>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName dlopen_support ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName finalize_deplibs ) ) } ) ] redirects: [] ) ] spids: [37296 37334] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlfiles>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [37280 37293] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Other '%'> pattern: (pat.Words words: [{<Id.Lit_Other '%'> <DEPLIBS> <Id.Lit_Other '%'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'alldeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alldeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'alldeplibs='> name: alldeplibs ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$found'> more_env: [] words: [{($ Id.VSub_DollarName found)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName lib))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot find the library \''> ($ Id.VSub_DollarName lib) <'\' or unhandled argument \''> ($ Id.VSub_DollarName deplib) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <func_lalib_unsafe_p> more_env: [] words: [{<func_lalib_unsafe_p>} {(DQ ($ Id.VSub_DollarName lib))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName lib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName lib))} {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ladir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ladir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ladir='> name:ladir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlname='> name:dlname) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlopen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlopen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlopen='> name:dlopen) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlpreopen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlpreopen='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlpreopen='> name: dlpreopen ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libdir='> name:libdir) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'library_names='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'library_names='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'library_names='> name: library_names ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_library='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_library='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_library='> name: old_library ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'inherited_linker_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'inherited_linker_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'inherited_linker_flags='> name: inherited_linker_flags ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'installed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'installed='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'installed='> name: installed ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'shouldnotlink='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'shouldnotlink='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'shouldnotlink='> name: shouldnotlink ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'avoidtemprpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'avoidtemprpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'avoidtemprpath='> name: avoidtemprpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [{<func_source>} {(DQ ($ Id.VSub_DollarName lib))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName inherited_linker_flags))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmp_inherited_linker_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_inherited_linker_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_inherited_linker_flags='> name: tmp_inherited_linker_flags ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName inherited_linker_flags ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's/-framework \\([^ $]*\\)/\\1.ltframework/g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [tmp_inherited_linker_flag] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName tmp_inherited_linker_flags)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName new_inherited_linker_flags ) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName tmp_inherited_linker_flag ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_inherited_linker_flags>} { (DQ <' '> ($ Id.VSub_DollarName tmp_inherited_linker_flag ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [37548 37559] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName dependency_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <scan>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlopen))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlfiles>} {(DQ <' '> ($ Id.VSub_DollarName dlopen))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlpreopen))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} {(DQ <' '> ($ Id.VSub_DollarName dlpreopen))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [37673 37739] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<conv>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName lib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ < 'cannot find name of link library for \'' > ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [37828 37839] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<convenience>} { (DQ <' '> ($ Id.VSub_DollarName ladir) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<old_convenience>} { (DQ <' '> ($ Id.VSub_DollarName ladir) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_libs='> name: tmp_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_preserve_dup_deps' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_preserve_dup_deps ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName tmp_libs ) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<specialdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName deplib ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [37909 37914] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [37814 37825] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName lib) <'\' is not a convenience library'> ) } ] redirects: [] do_fork: T ) ] spids: [37967 37994] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [37786 37799] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'linklib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linklib='> name: linklib ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_library))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName prefer_static_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<built> <Id.Lit_Comma ','> <no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName prefer_static_libs ) <','> ($ Id.VSub_DollarName installed) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linklib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linklib='> name: linklib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_library)} ) ] redirects: [] ) ] spids: [38027 38073] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [l] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName old_library)} {($ Id.VSub_DollarName library_names)} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'linklib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linklib='> name: linklib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName l)} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName linklib))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot find name of link library for \''> ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [38107 38118] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlopen>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot -dlopen a convenience library: \''> ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlopen_support))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_libtool_libs) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName lib) <' '> ($ Id.VSub_DollarName dependency_libs) ) } ] redirects: [] do_fork: T ) ] spids: [38175 38213] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlfiles>} {(DQ <' '> ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [38138 38151] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ladir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'abs_ladir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs_ladir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs_ladir='> name: abs_ladir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ladir)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'abs_ladir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs_ladir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs_ladir='> name: abs_ladir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} {(DQ ($ Id.VSub_DollarName ladir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName abs_ladir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ < 'cannot determine absolute directory name of \'' > ($ Id.VSub_DollarName ladir) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ < 'passing it literally to the linker, although it might fail' > ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'abs_ladir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs_ladir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs_ladir='> name: abs_ladir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ladir)} ) ] redirects: [] ) ] spids: [38326 38337] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName lib))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'laname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'laname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'laname='> name:laname) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName installed))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName lt_sysroot) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName abs_ladir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'library \''> ($ Id.VSub_DollarName lib) <'\' was moved.'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ladir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir='> name: absdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName abs_ladir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libdir='> name: libdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName abs_ladir)} ) ] redirects: [] ) ] spids: [38401 38429] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lt_sysroot) ($ Id.VSub_DollarName libdir) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir='> name: absdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lt_sysroot) ($ Id.VSub_DollarName libdir) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName hardcode_automatic))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'avoidtemprpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'avoidtemprpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'avoidtemprpath='> name: avoidtemprpath ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [38385 38398] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName ladir) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName abs_ladir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ladir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir='> name: absdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName abs_ladir)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<notinst_path>} {(DQ <' '> ($ Id.VSub_DollarName abs_ladir))} ] redirects: [] do_fork: T ) ] spids: [38488 38517] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ladir) <'/'> ($ Id.VSub_DollarName objdir) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir='> name: absdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName abs_ladir) <'/'> ($ Id.VSub_DollarName objdir) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<notinst_path>} {(DQ <' '> ($ Id.VSub_DollarName abs_ladir))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <lib>)} {(SQ <.la>)} {(DQ ($ Id.VSub_DollarName laname))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlpreopen>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ < 'only libraries may -dlpreopen a convenience library: \'' > ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [38620 38643] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_tr_sh> more_env: [] words: [ {<func_tr_sh>} { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <libfile_> ($ Id.VSub_DollarName func_tr_sh_result) <'='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'abs_ladir/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <laname> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) ] spids: [38720 38731] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlpreconveniencelibs>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlpreconveniencelibs>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [38834 38845] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName dlname) ) } ] redirects: [] do_fork: T ) ] spids: [38896 38907] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [38604 38617] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] spids: [38971 38984] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [38997 39014] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName lib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [38953 38964] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<link>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newlib_search_path>} {(DQ <' '> ($ Id.VSub_DollarName ladir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName lib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'linkalldeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linkalldeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linkalldeplibs='> name: linkalldeplibs ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName link_all_deplibs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName library_names) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linkalldeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linkalldeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linkalldeplibs='> name: linkalldeplibs ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] spids: [39114 39151] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_libs='> name: tmp_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words: [{<-L> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-L>)} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} { (DQ ($ Id.VSub_DollarName func_stripname_result ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newlib_search_path>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$linkalldeplibs' > more_env: [] words: [ { ($ Id.VSub_DollarName linkalldeplibs ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] spids: [39229 39234] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName newdependency_libs) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_preserve_dup_deps' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_preserve_dup_deps ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<specialdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName deplib) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [39267 39272] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [39062 39088] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName library_names) ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName prefer_static_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<built> <Id.Lit_Comma ',' > <yes> } { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName prefer_static_libs ) <','> ($ Id.VSub_DollarName installed) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName old_library ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName shlibpath_var ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName avoidtemprpath ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName temp_rpath) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ ($ Id.VSub_DollarName absdir) <':'> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<temp_rpath>} { (DQ ($ Id.VSub_DollarName absdir) <':'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [39427 39448] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName sys_lib_dlsearch_path) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName absdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName compile_rpath) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName absdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_rpath>} { (DQ <' '> ($ Id.VSub_DollarName absdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName sys_lib_dlsearch_path) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName finalize_rpath) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_rpath>} { (DQ <' '> ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [39358 39420] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$alldeplibs'> more_env: [] words: [{($ Id.VSub_DollarName alldeplibs)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<pass_all>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName deplibs_check_method ) ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName library_names ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [39661 39713] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [39338 39355] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_static='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_static='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_static='> name: link_static ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'use_static_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_static_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_static_libs='> name: use_static_libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName prefer_static_libs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<built>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName use_static_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName installed))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_static_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_static_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_static_libs='> name: use_static_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] spids: [39741 39766] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName library_names))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName use_static_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <os2> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<notinst_deplibs>} {(DQ <' '> ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'need_relink='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'need_relink='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'need_relink='> name: need_relink ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName installed) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<notinst_deplibs>} {(DQ <' '> ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'need_relink='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'need_relink='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'need_relink='> name: need_relink ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [39874 39887] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlopenmodule='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlopenmodule='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlopenmodule='> name: dlopenmodule ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dlpremoduletest] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dlprefiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <X> ($ Id.VSub_DollarName dlpremoduletest ) ) } {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlopenmodule='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlopenmodule='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlopenmodule='> name: dlopenmodule ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlpremoduletest)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [39941 39958] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName dlopenmodule))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName shouldnotlink) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<link>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** Warning: Linking the executable '> ($ Id.VSub_DollarName output) <' against the loadable module'> ) } ] redirects: [] do_fork: T ) ] spids: [40015 40028] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** Warning: Linking the shared library '> ($ Id.VSub_DollarName output) <' against the loadable module'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** '> ($ Id.VSub_DollarName linklib) <' is not portable!'> ) } ] redirects: [] do_fork: T ) ] spids: [39974 40009] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_into_libs ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName sys_lib_dlsearch_path) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName absdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName compile_rpath) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName absdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_rpath>} { (DQ <' '> ($ Id.VSub_DollarName absdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName sys_lib_dlsearch_path) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName finalize_rpath) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_rpath>} { (DQ <' '> ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [40067 40093] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName old_archive_from_expsyms_cmds ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {($ Id.VSub_DollarName library_names)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'realname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'realname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'realname='> name: realname ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname='> name: libname ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName libname_spec) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'soname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'soname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'soname='> name: soname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlname)} ) ] redirects: [] ) ] spids: [40319 40330] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName soname_spec) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName host)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'> } {<mingw> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <os2> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_arith_result ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<-> ($ Id.VSub_DollarName major)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'soname='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName soname_spec) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] spids: [40337 40348] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'soname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'soname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'soname='> name: soname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName realname)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'soroot='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'soroot='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'soroot='> name: soroot ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName soname)} ) ] redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName soroot))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'soname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'soname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'soname='> name: soname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <lib>)} {(SQ <.dll>)} {(DQ ($ Id.VSub_DollarName soname))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'newlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newlib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newlib='> name: newlib ) op: assign_op.Equal rhs: {<libimp-> ($ Id.VSub_DollarName func_stripname_result) <.a> } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName soname) <-def> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [40473 40487] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'extracting exported symbol list from \''> ($ Id.VSub_DollarName soname) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName extract_expsyms_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName newlib) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] spids: [40523 40536] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'generating import library for \''> ($ Id.VSub_DollarName soname) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} { (DQ ($ Id.VSub_DollarName old_archive_from_expsyms_cmds ) ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'linklib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linklib='> name: linklib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newlib)} ) ] redirects: [] ) ] spids: [40258 40269] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_shlibpath='> name: add_shlibpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir='> name: add_dir ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lib_linked='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib_linked='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_linked='> name: lib_linked ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName hardcode_action)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <immediate> pattern: (pat.Words words: [{<immediate>} {<unsupported>}] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName host)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sco3.2v5.0.> <Id.Lit_LBracket '['> <024> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir=' > name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName dir ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv4> <Id.Lit_Star '*'> <uw2> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir=' > name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName dir ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv5OpenUNIX> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv5UnixWare7.> <Id.Lit_LBracket '['> <01> <Id.Lit_RBracket ']'> <.> <Id.Lit_LBracket '['> <10> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-unixware7> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir=' > name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName dir ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: < '/usr/bin/file' > more_env: [] words: [ { < '/usr/bin/file' > } {<-L>} { ($ Id.VSub_DollarName add ) } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$GREP' > more_env: [] words: [ { ($ Id.VSub_DollarName GREP ) } { (DQ < ': [^:]* bundle' > ) } ] redirects: [ (Redir op: < Id.Redir_Great '>' > loc: (redir_loc.Fd fd: 1 ) arg: { < '/dev/null' > } ) ] do_fork: T ) ] ops: [ <Id.Op_Pipe _ > ] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { (DQ < X > ($ Id.VSub_DollarName dlopenmodule) ) } { < Id.KW_Bang '!' > <Id.Lit_Equals '='> } { (DQ < X > ($ Id.VSub_DollarName lib) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: < Id.VSub_DollarName '$ECHO' > more_env: [] words: [ { ($ Id.VSub_DollarName ECHO ) } { (DQ < '*** Warning: lib ' > ($ Id.VSub_DollarName linklib) <' is a module, not a shared library'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: < Id.KW_If if > cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < -z > } { (DQ ($ Id.VSub_DollarName old_library ) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: < Id.KW_Then then > action: [ (command.Simple blame_tok: < echo > more_env: [] words: [ { < echo > } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < echo > more_env: [] words: [ { < echo > } { (DQ < '*** And there doesn\'t seem to be a static archive available' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < echo > more_env: [] words: [ { < echo > } { (DQ < '*** The link will probably fail, sorry' > ) } ] redirects: [] do_fork: T ) ] spids: [ 40819 40830 ] ) ] else_kw: <Id.KW_Else else > else_action: [ (command.ShAssignment left: < Id.Lit_VarLike 'add=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'add=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'add=' > name: add ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName dir ) <'/'> ($ Id.VSub_DollarName old_library) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40789 40807] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < -n > } { (DQ ($ Id.VSub_DollarName old_library ) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: < Id.Lit_VarLike 'add=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'add=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'add=' > name: add ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName dir ) <'/'> ($ Id.VSub_DollarName old_library) } ) ] redirects: [] ) ] spids: [40862 40873] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40761 40786] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [40643 40656] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName host)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sunos> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_shlibpath=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_shlibpath=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_shlibpath=' > name: add_shlibpath ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName dir ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir='> name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName dir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] spids: [40891 40904] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_shlibpath=' > name: add_shlibpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] spids: [40940 40953] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lib_linked='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib_linked='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_linked='> name: lib_linked ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <relink> pattern: (pat.Words words:[{<relink>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_direct_absolute ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) } ) ] redirects: [] ) ] spids: [40982 41008] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir='> name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName absdir) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName inst_prefix_dir ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName libdir ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ { <Id.Lit_LBracket '[' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<add_dir>} { (DQ <' -L'> ($ Id.VSub_DollarName inst_prefix_dir ) ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [41042 41053] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] spids: [41017 41030] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_shlibpath=' > name: add_shlibpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] spids: [41096 41109] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lib_linked='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib_linked='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_linked='> name: lib_linked ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lib_linked='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib_linked='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_linked='> name: lib_linked ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName lib_linked) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'unsupported hardcode properties'>)} ] redirects: [] do_fork: T ) ] spids: [41147 41161] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName add_shlibpath ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName compile_shlibpath) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName add_shlibpath ) <':'> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_shlibpath>} { (DQ ($ Id.VSub_DollarName add_shlibpath ) <':'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [41175 41186] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add_dir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs=' > name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add_dir) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs=' > name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add) <' '> ($ Id.VSub_DollarName compile_deplibs ) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [41231 41244] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add_dir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add_dir) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName finalize_shlibpath ) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName libdir) <':'> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_shlibpath>} { (DQ ($ Id.VSub_DollarName libdir) <':'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [41322 41363] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40586 40612] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_shlibpath='> name: add_shlibpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir='> name: add_dir ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_direct_absolute ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) } ) ] redirects: [] ) ] spids: [41456 41482] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir='> name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName libdir)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] spids: [41491 41504] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName finalize_shlibpath ) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName libdir) <':'> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_shlibpath>} { (DQ ($ Id.VSub_DollarName libdir) <':'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] spids: [41517 41530] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName hardcode_automatic ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName inst_prefix_dir ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName inst_prefix_dir ) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName inst_prefix_dir ) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) } ) ] redirects: [] ) ] spids: [41593 41618] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41577 41590] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'add_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add_dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add_dir='> name: add_dir ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName libdir)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName inst_prefix_dir ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName libdir)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<add_dir>} { (DQ <' -L'> ($ Id.VSub_DollarName inst_prefix_dir ) ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [41656 41667] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'add='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'add='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'add='> name: add ) op: assign_op.Equal rhs: {<-l> ($ Id.VSub_DollarName name)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add_dir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs=' > name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add_dir) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs=' > name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add) <' '> ($ Id.VSub_DollarName finalize_deplibs ) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [41714 41727] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add_dir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add_dir) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName add))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName add) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41415 41440] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [39776 39815] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<unsupported>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName hardcode_direct))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_library))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'linklib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linklib='> name: linklib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_library)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [41839 41853] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ <-l> ($ Id.VSub_DollarName name) <' -L'> ($ Id.VSub_DollarName dir) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ <-l> ($ Id.VSub_DollarName name) <' -L'> ($ Id.VSub_DollarName dir) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41811 41824] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<pass_all>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName deplibs_check_method ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** Warning: This system cannot link to static lib archive ' > ($ Id.VSub_DollarName lib) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** I have the capability to make that library automatically link in when' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** you link to this library. But I can only do this if you have a' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** shared version of the library, which you do not appear to have.' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName module))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** But as you try to build a module library, libtool will still create ' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** a static module, that should work as long as the dlopening application' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** is linked with the -dlopen flag to resolve symbols at runtime.' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName global_symbol_pipe ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** However, this would only work if libtool was able to extract symbol' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** lists from a program, using \'nm\' or equivalent, but libtool could' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** not find such a program. So, this module is probably useless.' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** \'nm\' from GNU binutils and a full rebuild may help.' > ) } ] redirects: [] do_fork: T ) ] spids: [42042 42053] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_old_libs ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs=' > name: build_libtool_libs ) op: assign_op.Equal rhs: {<module>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs=' > name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [42090 42103] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs=' > name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [42005 42018] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41938 41952] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_static='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_static='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_static='> name: link_static ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41918 41931] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName dependency_libs) ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName hardcode_into_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_old_libs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName link_static ) ) } ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_DPipe _> <Id.Op_DPipe _> ] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'temp_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'temp_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'temp_deplibs='> name: temp_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName libdir)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-R> pattern: (pat.Words words: [{<-R> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-R>)} {(SQ )} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'temp_xrpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'temp_xrpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'temp_xrpath=' > name: temp_xrpath ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_stripname_result ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName xrpath) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName temp_xrpath ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<xrpath>} { (DQ <' '> ($ Id.VSub_DollarName temp_xrpath ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<temp_deplibs>} { (DQ <' '> ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName temp_deplibs)} ) ] redirects: [] ) ] spids: [42170 42226] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newlib_search_path>} {(DQ <' '> ($ Id.VSub_DollarName absdir))} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName link_static))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName abs_ladir) <'/'> ($ Id.VSub_DollarName laname) <' '> ($ Id.VSub_DollarName newdependency_libs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_libs='> name: tmp_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName newdependency_libs) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words: [{<-L> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <-L>)} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} { (DQ ($ Id.VSub_DollarName func_stripname_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$opt_preserve_dup_deps' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_preserve_dup_deps ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<specialdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [42457 42462] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_libs>} { (DQ <' '> ($ Id.VSub_DollarName func_resolve_sysroot_result) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName link_all_deplibs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'path='> name: path ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words: [{<-L> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'path='> name: path ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName deplib)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.la>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplib='> name: deplib ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_resolve_sysroot_result ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_dirname> more_env: [] words: [ {<func_dirname>} {(DQ ($ Id.VSub_DollarName deplib))} {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dir='> name: dir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_dirname_result ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName dir)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\' > ch: '\\' ) <'/'> <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 '\\\\' > ch: '\\' ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir=' > name: absdir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName dir ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'absdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'absdir=' > name: absdir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`' > child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} { (DQ ($ Id.VSub_DollarName dir ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <pwd> more_env: [] words: [ {<pwd>} ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_DAmp _> ] ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName absdir ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ < 'cannot determine absolute directory name of \'' > ($ Id.VSub_DollarName dir) <'\''> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'absdir=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'absdir=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'absdir=' > name: absdir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName dir ) } ) ] redirects: [] ) ] spids: [42660 42671] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$GREP' > more_env: [] words: [ { ($ Id.VSub_DollarName GREP ) } { (DQ < '^installed=no' > ) } { ($ Id.VSub_DollarName deplib ) } ] redirects: [ (Redir op: <Id.Redir_Great '>' > loc: (redir_loc.Fd fd: 1 ) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName host ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'depdepl=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'depdepl=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'depdepl=' > name: depdepl ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { <Id.Lit_VarLike 'deplibrary_names=' > (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } {<-n>} {<-e>} { (SQ < 's/^library_names=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName deplib ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < -n > } { (DQ ($ Id.VSub_DollarName deplibrary_names ) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for > iter_names: [ tmp ] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName deplibrary_names ) } ] ) semi_tok: <Id.Op_Semi _ > body: (command.DoGroup left: < Id.KW_Do do > children: [ (command.ShAssignment left: < Id.Lit_VarLike 'depdepl=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'depdepl=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'depdepl=' > name: depdepl ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName tmp ) } ) ] redirects: [] ) ] right: < Id.KW_Done done > ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: < Id.KW_If if > cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < -f > } { (DQ ($ Id.VSub_DollarName absdir ) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName depdepl) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: < Id.KW_Then then > action: [ (command.ShAssignment left: < Id.Lit_VarLike 'depdepl=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'depdepl=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'depdepl=' > name: depdepl ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName absdir ) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName depdepl) } ) ] redirects: [] ) (command.ShAssignment left: < Id.Lit_VarLike 'darwin_install_name=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'darwin_install_name=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'darwin_install_name=' > name: darwin_install_name ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Pipeline children: [ (command.Simple blame_tok: < Id.VSub_DollarName '$OTOOL' > more_env: [] words: [ { ($ Id.VSub_DollarName OTOOL ) } { < -L > } { ($ Id.VSub_DollarName depdepl ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < awk > more_env: [] words: [ { < awk > } { (SQ < '{if (NR == 2) {print $1;exit}}' > ) } ] redirects: [] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > ] ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.If if_kw: < Id.KW_If if > arms: [ (IfArm keyword: < Id.KW_If if > cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { < -z > } { (DQ ($ Id.VSub_DollarName darwin_install_name ) ) } ] redirects: [] do_fork: T ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: < Id.KW_Then then > action: [ (command.ShAssignment left: < Id.Lit_VarLike 'darwin_install_name=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'darwin_install_name=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'darwin_install_name=' > name: darwin_install_name ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Pipeline children: [ (command.Simple blame_tok: < Id.VSub_DollarName '$OTOOL64' > more_env: [] words: [ { ($ Id.VSub_DollarName OTOOL64 ) } { < -L > } { ($ Id.VSub_DollarName depdepl ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < awk > more_env: [] words: [ { < awk > } { (SQ < '{if (NR == 2) {print $1;exit}}' > ) } ] redirects: [] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > ] ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) ] spids: [ 42837 42848 ] ) ] else_action: [] fi_kw: < Id.KW_Fi fi > redirects: [] ) (command.Simple blame_tok: < func_append > more_env: [] words: [ { < func_append > } { < compiler_flags > } { (DQ < ' ' > ($ Id.VSub_DollarName wl) <'-dylib_file '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName darwin_install_name ) <':'> ($ Id.VSub_DollarName depdepl) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < func_append > more_env: [] words: [ { < func_append > } { < linker_flags > } { (DQ < ' -dylib_file ' > ($ Id.VSub_DollarName darwin_install_name) <':'> ($ Id.VSub_DollarName depdepl) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: < Id.Lit_VarLike 'path=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'path=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'path=' > name: path ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [ 42791 42806 ] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [42758 42769] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'path=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'path=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'path=' > name: path ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName absdir ) <'/'> ($ Id.VSub_DollarName objdir) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [42696 42711] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libdir='> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName deplib ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName libdir ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName deplib ) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName absdir ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName libdir ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName deplib ) <'\' seems to be moved'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'path='> name: path ) op: assign_op.Equal rhs: {<-L> ($ Id.VSub_DollarName absdir ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName deplibs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName path) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName path) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [42517 42531] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [42154 42167] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<link>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags) <' '> ($ Id.VSub_DollarName finalize_deplibs) ) } ) ] redirects: [] ) ] spids: [43097 43110] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compiler_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compiler_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compiler_flags='> name: compiler_flags ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName compiler_flags) <' '>) (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' '> ($ Id.VSub_DollarName new_inherited_linker_flags ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [43081 43094] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdependency_libs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlpreopen>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName save_deplibs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [43173 43186] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<dlopen>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<conv>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pass))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'lib_search_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib_search_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_search_path='> name: lib_search_path ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName newlib_search_path)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName lib_search_path) <' '>) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName dir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<lib_search_path>} {(DQ <' '> ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newlib_search_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newlib_search_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newlib_search_path='> name: newlib_search_path ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog> <Id.Lit_Comma ','> <link>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'vars='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vars='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'vars='> name: vars ) op: assign_op.Equal rhs: {(DQ <'compile_deplibs finalize_deplibs'>)} ) ] redirects: [] ) ] spids: [43320 43337] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'vars='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vars='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vars='> name:vars) op: assign_op.Equal rhs: {<deplibs>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [var] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName vars)} {<dependency_libs>}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'tmp_libs='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName var) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'new_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'new_libs='> name: new_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName tmp_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words: [{<-L> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'new_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'new_libs='> name: new_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName new_libs) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-R> pattern: (pat.Words words: [{<-R> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName specialdeplibs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'new_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'new_libs='> name: new_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib) <' '> ($ Id.VSub_DollarName new_libs) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName new_libs ) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'new_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'new_libs=' > name: new_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName deplib ) <' '> ($ Id.VSub_DollarName new_libs) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_libs='> name: tmp_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName new_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words: [{<-L> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName tmp_libs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_libs>} { (DQ <' '> ($ Id.VSub_DollarName deplib) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {($ Id.VSub_DollarName var) <Id.Lit_Equals '='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName tmp_libs) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [43219 43233] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<CXX>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName tagname))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <linux> pattern: (pat.Words words:[{<linux> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$CC'> more_env: [] words: [{($ Id.VSub_DollarName CC)} {<-V>}] redirects: [ (Redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<5q>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Sun> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <C> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_suncc_cstd_abi> more_env: [] words: [{<func_suncc_cstd_abi>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName suncc_use_cstd_abi ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<postdeps>} {(SQ <' -library=Cstd -library=Crun'>)} ] redirects: [] do_fork: T ) ] spids: [43777 43791] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <solaris> pattern: (pat.Words words:[{<solaris> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_cc_basename> more_env: [] words: [{<func_cc_basename>} {(DQ ($ Id.VSub_DollarName CC))}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName func_cc_basename_result)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <CC> pattern: (pat.Words words: [ {<CC> <Id.Lit_Star '*'>} {<sunCC> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_suncc_cstd_abi> more_env: [] words: [{<func_suncc_cstd_abi>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName suncc_use_cstd_abi ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<postdeps>} {(SQ <' -library=Cstd -library=Crun'>)} ] redirects: [] do_fork: T ) ] spids: [43849 43863] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmp_libs='> name:tmp_libs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName dependency_libs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName predeps) <' '> ($ Id.VSub_DollarName postdeps) <' '> ($ Id.VSub_DollarName compiler_lib_search_path) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName i) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName i))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_libs>} {(DQ <' '> ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) ] spids: [43951 43962] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tmp_libs)} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlfiles='> name:dlfiles) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdlfiles)} ) ] redirects: [] ) ] spids: [43991 44004] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<prog>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<lib>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkmode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlprefiles='> name:dlprefiles) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdlprefiles)} ) ] redirects: [] ) ] spids: [44014 44039] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName linkmode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <oldlib> pattern: (pat.Words words:[{<oldlib>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName dlfiles) ($ Id.VSub_DollarName dlprefiles) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlself))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-dlopen\' is ignored for archives'>)}] redirects: [] do_fork: T ) ] spids: [44061 44086] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName deplibs))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <-l> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <-L> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-l\' and \'-L\' are ignored for archives'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName rpath))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-rpath\' is ignored for archives'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName xrpath))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-R\' is ignored for archives'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName vinfo))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-version-info/-version-number\' is ignored for archives'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName release))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-release\' is ignored for archives'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols) ($ Id.VSub_DollarName export_symbols_regex) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-export-symbols\' is ignored for archives'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldlibs='> name:oldlibs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<objs>} {(DQ ($ Id.VSub_DollarName old_deplibs))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <lib> pattern: (pat.Words words:[{<lib>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName outputname)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <lib> pattern: (pat.Words words:[{<lib> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ <lib>)} {(SQ <.la>)} {(DQ ($ Id.VSub_DollarName outputname))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'shared_ext='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName shrext_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libname='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName libname_spec) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName module))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'libtool library \''> ($ Id.VSub_DollarName output) <'\' must begin with \'lib\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_lib_prefix))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.la>)} {(DQ ($ Id.VSub_DollarName outputname))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'shared_ext='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName shrext_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libname='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName libname_spec) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] spids: [44349 44363] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.la>)} {(DQ ($ Id.VSub_DollarName outputname))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname='> name: libname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName objs))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<pass_all>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName deplibs_check_method))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot build libtool library \''> ($ Id.VSub_DollarName output) <'\' from non-libtool objects on this host:'> ($ Id.VSub_DollarName objs) ) } ] redirects: [] do_fork: T ) ] spids: [44449 44463] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** Warning: Linking the shared library '> ($ Id.VSub_DollarName output) <' against the non-libtool'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** objects '> ($ Id.VSub_DollarName objs) <' is not portable!'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} {(DQ <' '> ($ Id.VSub_DollarName objs))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [44435 44446] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlself))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-dlopen self\' is ignored for libtool libraries'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<dummy>} {($ Id.VSub_DollarName rpath)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<-lt>} {(DQ ($ Id.VSub_Pound '#'))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'ignoring multiple \'-rpath\'s for a libtool library'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'install_libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'install_libdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'install_libdir='> name: install_libdir ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldlibs='> name:oldlibs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName rpath))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldlibs='> name: oldlibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.> ($ Id.VSub_DollarName libext) <' '> ($ Id.VSub_DollarName oldlibs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<convenience>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [44593 44606] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName vinfo))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ < '\'-version-info/-version-number\' is ignored for convenience libraries' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName release))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-release\' is ignored for convenience libraries'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [44579 44590] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<dummy>} {($ Id.VSub_DollarName vinfo)} {<0>} {<0>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 7))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} {(DQ <'too many parameters to \'-version-info\''>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName vinfo_number)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <yes> pattern: (pat.Words words:[{<yes>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'number_major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'number_major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'number_major='> name: number_major ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'number_minor='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'number_minor='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'number_minor='> name: number_minor ) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'number_revision='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'number_revision='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'number_revision='> name: number_revision ) op: assign_op.Equal rhs: {($ Id.VSub_Number 3)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName version_type)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <darwin> pattern: (pat.Words words: [ {<darwin>} {<freebsd-elf>} {<linux>} {<osf>} {<windows>} {<none>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName number_major)} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName number_minor)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'current='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'current='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'current='> name: current ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'age='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'age='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'age='> name: age ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName number_minor)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'revision='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'revision='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'revision='> name: revision ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName number_revision)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <freebsd-aout> pattern: (pat.Words words:[{<freebsd-aout>} {<qnx>} {<sunos>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'current='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'current='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'current='> name: current ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName number_major)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'revision='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'revision='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'revision='> name: revision ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName number_minor)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'age='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'age='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'age='> name: age ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <irix> pattern: (pat.Words words:[{<irix>} {<nonstopux>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName number_major)} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName number_minor)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'current='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'current='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'current='> name: current ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'age='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'age='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'age='> name: age ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName number_minor)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'revision='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'revision='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'revision='> name: revision ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName number_minor)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lt_irix_increment='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_irix_increment='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_irix_increment='> name: lt_irix_increment ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} { (DQ ($ Id.VSub_DollarName modename) <': unknown library version type \''> ($ Id.VSub_DollarName version_type) <'\''> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <no> pattern: (pat.Words words:[{<no>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'current='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'current='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'current='> name: current ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'revision='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'revision='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'revision='> name: revision ) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'age='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'age='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'age='> name:age) op: assign_op.Equal rhs: {($ Id.VSub_Number 3)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName current)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words: [ {<0>} {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'>} {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'CURRENT \''> ($ Id.VSub_DollarName current) <'\' must be a nonnegative integer'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName vinfo) <'\' is not valid version information'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName revision)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words: [ {<0>} {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'>} {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'REVISION \''> ($ Id.VSub_DollarName revision) <'\' must be a nonnegative integer'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName vinfo) <'\' is not valid version information'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName age)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words: [ {<0>} {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'>} {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<Id.Lit_LBracket '['> <1-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'AGE \''> ($ Id.VSub_DollarName age) <'\' must be a nonnegative integer'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName vinfo) <'\' is not valid version information'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName age))} {<-gt>} {(DQ ($ Id.VSub_DollarName current))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'AGE \''> ($ Id.VSub_DollarName age) <'\' is greater than the current interface number \''> ($ Id.VSub_DollarName current) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName vinfo) <'\' is not valid version information'> ) } ] redirects: [] do_fork: T ) ] spids: [45241 45256] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'major='> name:major) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName version_type)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <none> pattern: (pat.Words words:[{<none>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <darwin> pattern: (pat.Words words:[{<darwin>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName age) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'minor_current='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'minor_current='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'minor_current='> name: minor_current ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'xlcverstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'xlcverstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'xlcverstring='> name: xlcverstring ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName wl) <'-compatibility_version '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName minor_current) <' '> ($ Id.VSub_DollarName wl) <'-current_version '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName minor_current) <.> ($ Id.VSub_DollarName revision) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: { (DQ <'-compatibility_version '> ($ Id.VSub_DollarName minor_current) <' -current_version '> ($ Id.VSub_DollarName minor_current) <.> ($ Id.VSub_DollarName revision) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName CC)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <nagfor> pattern: (pat.Words words:[{<nagfor> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName wl) <'-compatibility_version '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName minor_current) <' '> ($ Id.VSub_DollarName wl) <'-current_version '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName minor_current) <.> ($ Id.VSub_DollarName revision) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: { (DQ <'-compatibility_version '> ($ Id.VSub_DollarName minor_current) <' -current_version '> ($ Id.VSub_DollarName minor_current) <.> ($ Id.VSub_DollarName revision) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <freebsd-aout> pattern: (pat.Words words:[{<freebsd-aout>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <freebsd-elf> pattern: (pat.Words words:[{<freebsd-elf>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName age) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <irix> pattern: (pat.Words words:[{<irix>} {<nonstopux>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName lt_irix_increment))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) ] spids: [45506 45519] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName version_type)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <nonstopux> pattern: (pat.Words words:[{<nonstopux>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'verstring_prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring_prefix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring_prefix='> name: verstring_prefix ) op: assign_op.Equal rhs: {<nonstopux>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'verstring_prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring_prefix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring_prefix='> name: verstring_prefix ) op: assign_op.Equal rhs: {<sgi>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName verstring_prefix) ($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'loop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'loop='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'loop='> name:loop) op: assign_op.Equal rhs: {($ Id.VSub_DollarName revision)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName loop))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName revision)} {<->} {($ Id.VSub_DollarName loop)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'iface='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'iface='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'iface='> name: iface ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName loop)} {<->} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'loop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'loop='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'loop='> name: loop ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName verstring_prefix) ($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName iface) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName verstring) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName major)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <linux> pattern: (pat.Words words:[{<linux>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName age) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <osf> pattern: (pat.Words words:[{<osf>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current) <.> ($ Id.VSub_DollarName age) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName current) <.> ($ Id.VSub_DollarName age) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'loop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'loop='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'loop='> name:loop) op: assign_op.Equal rhs: {($ Id.VSub_DollarName age)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName loop))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName loop)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'iface='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'iface='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'iface='> name: iface ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName loop)} {<->} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'loop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'loop='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'loop='> name: loop ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName verstring) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName iface) <.0> } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<verstring>} {(DQ <':'> ($ Id.VSub_DollarName current) <.0>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <qnx> pattern: (pat.Words words:[{<qnx>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sco> pattern: (pat.Words words:[{<sco>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sunos> pattern: (pat.Words words:[{<sunos>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<.> ($ Id.VSub_DollarName current) <.> ($ Id.VSub_DollarName revision) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <windows> pattern: (pat.Words words:[{<windows>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName current)} {<->} {($ Id.VSub_DollarName age)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<-> ($ Id.VSub_DollarName major)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} { (DQ <'unknown library version type \''> ($ Id.VSub_DollarName version_type) <'\''> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName vinfo))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName release))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName version_type)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <darwin> pattern: (pat.Words words:[{<darwin>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: {<0.0>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_version))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [46002 46015] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {<.0.0>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [45936 45957] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes> <Id.Lit_Comma ','> <no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName avoid_version) <','> ($ Id.VSub_DollarName need_version) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major='> name: major ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'verstring='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'verstring='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'verstring='> name: verstring ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [46039 46056] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName allow_undefined))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<unsupported>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName allow_undefined_flag))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_old_libs) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'undefined symbols not allowed in '> ($ Id.VSub_DollarName host) <' shared libraries; building static only'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] spids: [46108 46121] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'can\'t build '> ($ Id.VSub_DollarName host) < ' shared library unless -no-undefined is specified' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [46092 46105] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [46076 46089] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'allow_undefined_flag='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'allow_undefined_flag='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'allow_undefined_flag='> name: allow_undefined_flag ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName no_undefined_flag)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_generate_dlsyms> more_env: [] words: [ {<func_generate_dlsyms>} {(DQ ($ Id.VSub_DollarName libname))} {(DQ ($ Id.VSub_DollarName libname))} {<Id.Lit_Colon ':'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<libobjs>} {(DQ <' '> ($ Id.VSub_DollarName symfileobj))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <' '>)} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName libobjs))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobjs='> name:libobjs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'removelist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'removelist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'removelist='> name: removelist ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tempremovelist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tempremovelist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tempremovelist='> name: tempremovelist ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName output_objdir) <'/*'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [p] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName tempremovelist)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName p)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName objext)} {<Id.Lit_Star '*'> <.gcno>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.VSub_DollarName '$output_objdir'> pattern: (pat.Words words: [ {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) } {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.> <Id.Lit_Star '*'> } {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) ($ Id.VSub_DollarName release) <.> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName precious_files_regex ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName p) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$EGREP'> more_env: [] words: [ { ($ Id.VSub_DollarName EGREP) } {<-e>} { (DQ ($ Id.VSub_DollarName precious_files_regex ) ) } ] 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 ) ] ops: [<Id.Op_Pipe _>] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [46326 46351] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [46312 46323] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<removelist>} {(DQ <' '> ($ Id.VSub_DollarName p))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName removelist))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ (${ Id.VSub_Name RM) <'r '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <removelist> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [46215 46229] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<convenience>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<oldlibs>} { (DQ <' '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.> ($ Id.VSub_DollarName libext) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName objs) <' '>) (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName libobjs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'/'> <Id.Lit_BadBackslash '\\'> <.> ($ Id.VSub_DollarName libext) <Id.Lit_Dollar '$'> <'/d; '> ($ Id.VSub_DollarName lo2o) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [46420 46446] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName xrpath))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'temp_xrpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'temp_xrpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'temp_xrpath='> name: temp_xrpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName xrpath)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_replace_sysroot> more_env: [] words: [ {<func_replace_sysroot>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<temp_xrpath>} { (DQ <' -R'> ($ Id.VSub_DollarName func_replace_sysroot_result) ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName finalize_rpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_rpath>} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName hardcode_into_libs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName temp_xrpath) <' '> ($ Id.VSub_DollarName dependency_libs) ) } ) ] redirects: [] ) ] spids: [46630 46656] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [46537 46548] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_dlfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_dlfiles='> name: old_dlfiles ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlfiles)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlfiles='> name:dlfiles) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName old_dlfiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName dlprefiles) <' '> ($ Id.VSub_DollarName dlfiles) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName lib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlfiles>} {(DQ <' '> ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_dlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_dlprefiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_dlprefiles='> name: old_dlprefiles ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlprefiles)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlprefiles='> name:dlprefiles) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName old_dlprefiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName dlprefiles) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName lib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dlprefiles>} {(DQ <' '> ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName rpath))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-beos> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-haiku> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-rhapsody> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin1.> <Id.Lit_LBracket '['> <012> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<deplibs>} {(DQ <' System.ltframework'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-netbsd> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-openbsd> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-dragonfly> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sco3.2v5> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sco5v6> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv4.2uw2> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv5> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-unixware> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-OpenUNIX> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_libtool_need_lc ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<deplibs>} {(DQ <' -lc'>)}] redirects: [] do_fork: T ) ] spids: [47059 47072] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [46827 46838] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'name_save='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name_save='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name_save='> name: name_save ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName name)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libname_save='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname_save='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname_save='> name: libname_save ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libname)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'release_save='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'release_save='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'release_save='> name: release_save ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName release)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix_save='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix_save='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix_save='> name: versuffix_save ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName versuffix)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'major_save='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major_save='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'major_save='> name: major_save ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName major)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'release='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'release='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'release='> name: release ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'major='> name:major) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdeplibs='> name: newdeplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'droppeddeps='> name: droppeddeps ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName deplibs_check_method)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <pass_all> pattern: (pat.Words words:[{<pass_all>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdeplibs='> name: newdeplibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName deplibs)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <test_compile> pattern: (pat.Words words:[{<test_compile>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [{($ Id.VSub_DollarName RM)} {<conftest.c>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'\t int main() { return 0; }\n'>] ) ) ] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [{($ Id.VSub_DollarName RM)} {<conftest>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$LTCC'> more_env: [] words: [ {($ Id.VSub_DollarName LTCC)} {($ Id.VSub_DollarName LTCFLAGS)} {<-o>} {<conftest>} {<conftest.c>} {($ Id.VSub_DollarName deplibs)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ldd_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ldd_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ldd_output='> name: ldd_output ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <ldd> more_env: [] words: [{<ldd>} {<conftest>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName deplibs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName i)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-l> pattern: (pat.Words words: [{<-l> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<-l>} {(SQ )} {(DQ ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_stripname_result ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName predeps ) <' '> ($ Id.VSub_DollarName postdeps) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName i ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName i ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'i=' > name: i ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [47306 47319] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName i ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname=' > name: libname ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`' > child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName libname_spec ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplib_matches=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplib_matches=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplib_matches=' > name: deplib_matches ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`' > child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName library_names_spec ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} { ($ Id.VSub_DollarName deplib_matches ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplib_match=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplib_match=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplib_match=' > name: deplib_match ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: < expr > more_env: [] words: [ { < expr > } { (DQ ($ Id.VSub_DollarName ldd_output ) ) } { < Id.Lit_Colon ':' > } { (DQ < '.*' > ($ Id.VSub_DollarName deplib_match) ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } {<-ne>} {<0>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName i ) ) } ] redirects: [] do_fork: T ) ] spids: [47439 47465] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'droppeddeps=' > name: droppeddeps ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO' > more_env: [] words: [ { ($ Id.VSub_DollarName ECHO ) } { (DQ < '*** Warning: dynamic linker does not accept needed library ' > ($ Id.VSub_DollarName i) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** I have the capability to make that library automatically link in when' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** you link to this library. But I can only do this if you have a' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** shared version of the library, which I believe you do not have' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** because a test_compile did reveal that the linker did not use it for' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** its dynamic dependency list that programs get resolved with at runtime.' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [47367 47378] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} {(DQ <' '> ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [47238 47253] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName deplibs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName i)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-l> pattern: (pat.Words words: [{<-l> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<-l>} {(SQ )} {(DQ ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_stripname_result ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [ {($ Id.VSub_DollarName opt_dry_run)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {<conftest>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$LTCC' > more_env: [] words: [ { ($ Id.VSub_DollarName LTCC ) } { ($ Id.VSub_DollarName LTCFLAGS ) } {<-o>} {<conftest>} {<conftest.c>} { ($ Id.VSub_DollarName i) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ldd_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ldd_output=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ldd_output=' > name: ldd_output ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <ldd> more_env: [] words: [ {<ldd>} {<conftest>} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName predeps ) <' '> ($ Id.VSub_DollarName postdeps) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ { <Id.Lit_Star '*' > (DQ <' '> ($ Id.VSub_DollarName i) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName i ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'i=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'i=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'i=' > name: i ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [47652 47665] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName i ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libname=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname=' > name: libname ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName libname_spec ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplib_matches=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplib_matches=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplib_matches=' > name: deplib_matches ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName library_names_spec ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} { ($ Id.VSub_DollarName deplib_matches ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplib_match=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplib_match=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplib_match=' > name: deplib_match ) op: assign_op.Equal rhs: { ($ Id.VSub_Number 1) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: < expr > more_env: [] words: [ { < expr > } { (DQ ($ Id.VSub_DollarName ldd_output ) ) } { < Id.Lit_Colon ':' > } { (DQ < '.*' > ($ Id.VSub_DollarName deplib_match) ) } ] redirects: [] do_fork: T ) right: < Id.Backtick_Right '`' > ) } {<-ne>} {<0>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName i ) ) } ] redirects: [] do_fork: T ) ] spids: [47785 47811] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'droppeddeps=' > name: droppeddeps ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO' > more_env: [] words: [ { ($ Id.VSub_DollarName ECHO ) } { (DQ < '*** Warning: dynamic linker does not accept needed library ' > ($ Id.VSub_DollarName i) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** I have the capability to make that library automatically link in when' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** you link to this library. But I can only do this if you have a' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** shared version of the library, which you do not appear to have' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** because a test_compile did reveal that the linker did not use this one' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** as a dynamic dependency that programs can get resolved with at runtime.' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [47713 47724] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [47624 47639] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'droppeddeps=' > name: droppeddeps ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** Warning! Library '> ($ Id.VSub_DollarName i) <' is needed by this library but I was not able to'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** make it link in! You will probably need to install it or some' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** library that it depends on before this library will be fully' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** functional. Installing it before continuing would be even better.' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} {(DQ <' '> ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <file_magic> pattern: (pat.Words words:[{<file_magic> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {($ Id.VSub_DollarName deplibs_check_method)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file_magic_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file_magic_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file_magic_regex='> name: file_magic_regex ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} { (DQ ($ Id.VSub_DollarName deplibs_check_method) ) } {<Id.Lit_Colon ':'>} { (DQ ($ Id.VSub_Number 1) <' '> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')'> ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [a_deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName deplibs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName a_deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-l> pattern: (pat.Words words: [{<-l> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<-l>} {(SQ )} {(DQ ($ Id.VSub_DollarName a_deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_stripname_result ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName predeps) <' '> ($ Id.VSub_DollarName postdeps) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName a_deplib ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'a_deplib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'a_deplib=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'a_deplib=' > name: a_deplib ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [48041 48054] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname='> name: libname ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName libname_spec ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName file_magic_glob ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libnameglob=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'libnameglob=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libnameglob=' > name: libnameglob ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`' > child: (command.Pipeline children: [ (command.Simple blame_tok: < func_echo_all > more_env: [] words: [ { < func_echo_all > } { (DQ ($ Id.VSub_DollarName libname ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } {<-e>} { ($ Id.VSub_DollarName file_magic_glob ) } ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_Pipe _> ] ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) ] spids: [48138 48149] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libnameglob='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libnameglob=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libnameglob=' > name: libnameglob ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName libname ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName want_nocaseglob ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'nocaseglob='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nocaseglob=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'nocaseglob=' > name: nocaseglob ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <shopt> more_env: [] words: [ {<shopt>} {<-p>} {<nocaseglob>} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName lib_search_path ) } { ($ Id.VSub_DollarName sys_lib_search_path ) } { ($ Id.VSub_DollarName shlib_search_path ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} { < Id.Lit_Equals '=' > } { (DQ ($ Id.VSub_DollarName want_nocaseglob ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <shopt> more_env: [] words: [ {<shopt>} {<-s>} {<nocaseglob>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'potential_libs=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'potential_libs=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'potential_libs=' > name: potential_libs ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: <ls> more_env: [] words: [ {<ls>} { ($ Id.VSub_DollarName i ) <'/'> ($ Id.VSub_DollarName libnameglob) <Id.Lit_LBracket '['> <.-> <Id.Lit_RBracket ']'> < Id.Lit_Star '*' > } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$nocaseglob' > more_env: [] words: [ { ($ Id.VSub_DollarName nocaseglob ) } ] redirects: [] do_fork: T ) ] spids: [48222 48235] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'potential_libs=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'potential_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'potential_libs=' > name: potential_libs ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: <ls> more_env: [] words: [ {<ls>} { ($ Id.VSub_DollarName i ) <'/'> ($ Id.VSub_DollarName libnameglob) <Id.Lit_LBracket '['> <.-> <Id.Lit_RBracket ']'> < Id.Lit_Star '*' > } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [potent_lib] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName potential_libs ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: < ls > more_env: [] words: [ { < ls > } { < -lLd > } { (DQ ($ Id.VSub_DollarName potent_lib ) ) } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$GREP' > more_env: [] words: [ { ($ Id.VSub_DollarName GREP ) } { (DQ < ' -> ' > ) } ] redirects: [ (Redir op: < Id.Redir_Great '>' > loc: (redir_loc.Fd fd: 1 ) arg: { < '/dev/null' > } ) ] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > ] ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: < Id.ControlFlow_Continue continue > ) ] spids: [48308 48334] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'potlib=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'potlib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'potlib=' > name: potlib ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName potent_lib ) } ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-h>} { (DQ ($ Id.VSub_DollarName potlib ) ) } ] 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 left: <Id.KW_Do do> children: [ (command.ShAssignment left: < Id.Lit_VarLike 'potliblink=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'potliblink=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'potliblink=' > name: potliblink ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Pipeline children: [ (command.Simple blame_tok: < ls > more_env: [] words: [ { < ls > } { < -ld > } { ($ Id.VSub_DollarName potlib ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } { (SQ < 's/.* -> //' > ) } ] redirects: [] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > ] ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case > to_match: (case_arg.Word w: { ($ Id.VSub_DollarName potliblink ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: < Id.Lit_LBracket '[' > pattern: (pat.Words words: [ { < Id.Lit_LBracket '[' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/'> <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 '\\\\' > ch: '\\' ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: < Id.Right_CasePat _ > action: [ (command.ShAssignment left: < Id.Lit_VarLike 'potlib=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'potlib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'potlib=' > name: potlib ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName potliblink ) } ) ] redirects: [] ) ] right: < Id.Op_DSemi _ > ) (CaseArm left: < Id.Lit_Star '*' > pattern: (pat.Words words: [ { < Id.Lit_Star '*' > } ] ) middle: < Id.Right_CasePat _ > action: [ (command.ShAssignment left: < Id.Lit_VarLike 'potlib=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'potlib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'potlib=' > name: potlib ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Pipeline children: [ (command.Simple blame_tok: < Id.VSub_DollarName '$ECHO' > more_env: [] words: [ { ($ Id.VSub_DollarName ECHO ) } { (DQ ($ Id.VSub_DollarName potlib ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } { (SQ < 's|[^/]*$||' > ) } ] redirects: [] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > ] ) right: < Id.Backtick_Right '`' > ) (DQ ($ Id.VSub_DollarName potliblink)) } ) ] redirects: [] ) ] right: < Id.Op_DSemi _ > ) ] arms_end: <Id.KW_Esac esac > redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: < eval > more_env: [] words: [ { < eval > } { ($ Id.VSub_DollarName file_magic_cmd ) } { (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\"' > ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <potlib> (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\"' > ch: '"' ) } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } { < -e > } { < 10q > } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$EGREP' > more_env: [] words: [ { ($ Id.VSub_DollarName EGREP ) } { (DQ ($ Id.VSub_DollarName file_magic_regex ) ) } ] redirects: [ (Redir op: < Id.Redir_Great '>' > loc: (redir_loc.Fd fd: 1 ) arg: { < '/dev/null' > } ) ] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > < Id.Op_Pipe _ > ] ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: < func_append > more_env: [] words: [ { < func_append > } { < newdeplibs > } { (DQ <' '> ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: < Id.Lit_VarLike 'a_deplib=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'a_deplib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'a_deplib=' > name: a_deplib ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: < Id.ControlFlow_Break break > arg_word: {<2>} ) ] spids: [48468 48505] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [48102 48113] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'droppeddeps=' > name: droppeddeps ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** Warning: linker path does not have real file for library ' > ($ Id.VSub_DollarName a_deplib) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** I have the capability to make that library automatically link in when' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** you link to this library. But I can only do this if you have a' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** shared version of the library, which you do not appear to have' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** because I did check the linker path looking for a file starting' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName potlib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** with '> ($ Id.VSub_DollarName libname ) <' but no candidates were found. (...for file magic test)'> ) } ] redirects: [] do_fork: T ) ] spids: [48596 48607] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** with '> ($ Id.VSub_DollarName libname) <' and none of the candidates passed a file format test'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** using a file magic. Last file checked: ' > ($ Id.VSub_DollarName potlib) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [48538 48549] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} {(DQ <' '> ($ Id.VSub_DollarName a_deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <match_pattern> pattern: (pat.Words words:[{<match_pattern> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {($ Id.VSub_DollarName deplibs_check_method)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'match_pattern_regex='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'match_pattern_regex='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'match_pattern_regex='> name: match_pattern_regex ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} { (DQ ($ Id.VSub_DollarName deplibs_check_method) ) } {<Id.Lit_Colon ':'>} { (DQ ($ Id.VSub_Number 1) <' '> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')'> ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [a_deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName deplibs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName a_deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-l> pattern: (pat.Words words: [{<-l> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<-l>} {(SQ )} {(DQ ($ Id.VSub_DollarName a_deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_stripname_result ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName predeps) <' '> ($ Id.VSub_DollarName postdeps) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName a_deplib ) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} { (DQ <' '> ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'a_deplib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'a_deplib=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'a_deplib=' > name: a_deplib ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [48763 48776] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname='> name: libname ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName libname_spec ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName lib_search_path ) } { ($ Id.VSub_DollarName sys_lib_search_path ) } { ($ Id.VSub_DollarName shlib_search_path ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'potential_libs=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'potential_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'potential_libs=' > name: potential_libs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`' > child: (command.Simple blame_tok: <ls> more_env: [] words: [ {<ls>} { ($ Id.VSub_DollarName i ) <'/'> ($ Id.VSub_DollarName libname) <Id.Lit_LBracket '['> <.-> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) right: < Id.Backtick_Right '`' > ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [potent_lib] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName potential_libs ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'potlib=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'potlib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'potlib=' > name: potlib ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName potent_lib ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: < eval > more_env: [] words: [ { < eval > } { (DQ (word_part.EscapedLiteral token: < Id.Lit_EscapedChar '\\$' > ch: '$' ) <'ECHO '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName potent_lib ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [ (Redir op: < Id.Redir_Great '2>' > loc: (redir_loc.Fd fd: 2 ) arg: { < '/dev/null' > } ) ] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } { < 10q > } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < Id.VSub_DollarName '$EGREP' > more_env: [] words: [ { ($ Id.VSub_DollarName EGREP ) } { (DQ ($ Id.VSub_DollarName match_pattern_regex ) ) } ] redirects: [ (Redir op: < Id.Redir_Great '>' > loc: (redir_loc.Fd fd: 1 ) arg: { < '/dev/null' > } ) ] do_fork: T ) ] ops: [ < Id.Op_Pipe _ > < Id.Op_Pipe _ > ] ) terminator: < Id.Op_Semi _ > ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: < func_append > more_env: [] words: [ { < func_append > } { < newdeplibs > } { (DQ <' '> ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: < Id.Lit_VarLike 'a_deplib=' > pairs: [ (AssignPair left: < Id.Lit_VarLike 'a_deplib=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'a_deplib=' > name: a_deplib ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ControlFlow keyword: < Id.ControlFlow_Break break > arg_word: {<2>} ) ] spids: [48914 48950] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [48824 48835] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName a_deplib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'droppeddeps=' > name: droppeddeps ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** Warning: linker path does not have real file for library ' > ($ Id.VSub_DollarName a_deplib) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** I have the capability to make that library automatically link in when' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** you link to this library. But I can only do this if you have a' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** shared version of the library, which you do not appear to have' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** because I did check the linker path looking for a file starting' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName potlib ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** with '> ($ Id.VSub_DollarName libname ) <' but no candidates were found. (...for regex pattern test)'> ) } ] redirects: [] do_fork: T ) ] spids: [49041 49052] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** with '> ($ Id.VSub_DollarName libname) <' and none of the candidates passed a file format test'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ < '*** using a regex pattern. Last file checked: ' > ($ Id.VSub_DollarName potlib) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [48983 48994] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdeplibs>} {(DQ <' '> ($ Id.VSub_DollarName a_deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <none> pattern: (pat.Words words: [{<none>} {<unknown>} {<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdeplibs='> name: newdeplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_deplibs='> name: tmp_deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s/ -lc$//; s/ -[LR][^ ]*//g'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName predeps)} {($ Id.VSub_DollarName postdeps)} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmp_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_deplibs='> name: tmp_deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO' > more_env: [] words: [ { ($ Id.VSub_DollarName ECHO ) } { (DQ <' '> ($ Id.VSub_DollarName tmp_deplibs ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ { ($ Id.VSub_DollarName SED) } { (DQ <'s|'> ($ Id.VSub_DollarName i) <'||'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [49162 49175] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName tmp_deplibs)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'> ch:'\t') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName deplibs_check_method ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** Warning: inter-library dependencies are not supported in this platform.' > ) } ] redirects: [] do_fork: T ) ] spids: [49245 49258] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** Warning: inter-library dependencies are not known to be supported.' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** All declared inter-library dependencies are being dropped.' > ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'droppeddeps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'droppeddeps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'droppeddeps='> name: droppeddeps ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'versuffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versuffix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versuffix='> name: versuffix ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName versuffix_save)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'major='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'major='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'major='> name:major) op: assign_op.Equal rhs: {($ Id.VSub_DollarName major_save)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'release='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'release='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'release='> name: release ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName release_save)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libname='> name: libname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libname_save)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName name_save)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-rhapsody> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin1.> <Id.Lit_LBracket '['> <012> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdeplibs='> name: newdeplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' '> ($ Id.VSub_DollarName newdeplibs) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s/ -lc / System.ltframework /'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName droppeddeps))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName module))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** Warning: libtool could not satisfy all declared inter-library' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'*** dependencies of module '> ($ Id.VSub_DollarName libname) <'. Therefore, libtool will create'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** a static module, that should work as long as the dlopening' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** application is linked with the -dlopen flag.' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName global_symbol_pipe ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** However, this would only work if libtool was able to extract symbol' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** lists from a program, using \'nm\' or equivalent, but libtool could' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** not find such a program. So, this module is probably useless.' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** \'nm\' from GNU binutils and a full rebuild may help.' > ) } ] redirects: [] do_fork: T ) ] spids: [49447 49458] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_old_libs ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldlibs='> name: oldlibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.> ($ Id.VSub_DollarName libext) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs=' > name: build_libtool_libs ) op: assign_op.Equal rhs: {<module>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs='> name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [49495 49508] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [49398 49411] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** The inter-library dependencies that have been dropped here will be' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** automatically added whenever a program is linked with this library' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'*** or is declared to -dlopen it.'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName allow_undefined) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** Since this library must not contain undefined symbols,' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** because either the platform does not support them or' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** it was explicitly requested with -no-undefined,' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '*** libtool will only create a static version of it.' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName build_old_libs ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldlibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldlibs='> name: oldlibs ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.> ($ Id.VSub_DollarName libext) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs=' > name: build_libtool_libs ) op: assign_op.Equal rhs: {<module>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_old_libs=' > name: build_old_libs ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] spids: [49609 49622] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs=' > name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [49562 49575] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [49382 49395] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdeplibs)} ) ] redirects: [] ) ] spids: [46811 46824] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdeplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdeplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdeplibs='> name: newdeplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName newdeplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'new_inherited_linker_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_inherited_linker_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'new_inherited_linker_flags='> name: new_inherited_linker_flags ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <' '> ($ Id.VSub_DollarName new_inherited_linker_flags ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'new_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'new_libs='> name:new_libs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [path] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName notinst_path)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName new_libs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName deplibs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_libs>} { (DQ <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName deplibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName deplib)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words:[{<-L> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName new_libs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'deplibs='> name:deplibs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName new_libs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'library_names='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'library_names='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'library_names='> name: library_names ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'old_library='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_library='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_library='> name: old_library ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dlname='> name:dlname) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName archive_cmds)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <LD> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'wl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'wl='> name:wl) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName hardcode_into_libs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'hardcode_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hardcode_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'hardcode_libdirs='> name: hardcode_libdirs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dep_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dep_rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dep_rpath='> name: dep_rpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'rpath='> name: rpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName finalize_rpath)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'rpath='> name: rpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName compile_rpath) ($ Id.VSub_DollarName rpath) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName rpath)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_flag_spec ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_replace_sysroot> more_env: [] words: [ {<func_replace_sysroot>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libdir='> name: libdir ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_replace_sysroot_result ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'hardcode_libdirs=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'hardcode_libdirs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'hardcode_libdirs=' > name: hardcode_libdirs ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName libdir ) } ) ] redirects: [] ) ] spids: [50135 50146] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName hardcode_libdirs) ($ Id.VSub_DollarName hardcode_libdir_separator) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName libdir) ($ Id.VSub_DollarName hardcode_libdir_separator) ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<hardcode_libdirs>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50110 50121] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'flag='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dep_rpath>} {(DQ <' '> ($ Id.VSub_DollarName flag))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50096 50107] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName runpath_var) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ ($ Id.VSub_DollarName perm_rpath) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<perm_rpath>} { (DQ <' '> ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [50229 50240] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libdir='> name: libdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName hardcode_libdirs)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'dep_rpath='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] spids: [50293 50315] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName runpath_var))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName perm_rpath))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'rpath='> name: rpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName perm_rpath)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rpath>} {(DQ ($ Id.VSub_DollarName dir) <':'>)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName runpath_var) <'=\''> ($ Id.VSub_DollarName rpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName runpath_var) <'\'; export '> ($ Id.VSub_DollarName runpath_var) ) } ] redirects: [] do_fork: T ) ] spids: [50335 50356] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dep_rpath))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dep_rpath) <' '> ($ Id.VSub_DollarName deplibs) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [50037 50050] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'shlibpath='> name: shlibpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName finalize_shlibpath)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'shlibpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'shlibpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'shlibpath='> name: shlibpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName compile_shlibpath) ($ Id.VSub_DollarName shlibpath) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName shlibpath))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName shlibpath_var) <'=\''> ($ Id.VSub_DollarName shlibpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) <'\'; export '> ($ Id.VSub_DollarName shlibpath_var) ) } ] redirects: [] do_fork: T ) ] spids: [50450 50461] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'shared_ext='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName shrext_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'library_names='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName library_names_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<dummy>} {($ Id.VSub_DollarName library_names)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'realname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'realname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'realname='> name: realname ) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName soname_spec))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'soname='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName soname_spec) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] spids: [50519 50530] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'soname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'soname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'soname='> name: soname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName realname)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlname='> name: dlname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName soname)} ) ] redirects: [] ) ] spids: [50551 50562] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lib='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lib='> name:lib) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName realname) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'linknames='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linknames='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'linknames='> name: linknames ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [link] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<linknames>} {(DQ <' '> ($ Id.VSub_DollarName link))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName pic_flag))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName libobjs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName lo2o))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName libobjs))} {<Id.Lit_Equals '='>} {(DQ <'X '>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'delfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'delfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'delfiles='> name: delfiles ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName include_expsyms))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ ($ Id.VSub_DollarName export_symbols))} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.uexp> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.uexp> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} {(DQ <' '> ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) ] spids: [50668 50689] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'orig_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'orig_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'orig_export_symbols='> name: orig_export_symbols ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host_os)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <cygwin> pattern: (pat.Words words: [ {<cygwin> <Id.Lit_Star '*'>} {<mingw> <Id.Lit_Star '*'>} {<cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName export_symbols_regex ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <func_dll_def_p> more_env: [] words: [ {<func_dll_def_p>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'orig_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'orig_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'orig_export_symbols=' > name: orig_export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName export_symbols)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'always_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'always_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'always_export_symbols=' > name: always_export_symbols ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [50756 50777] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName always_export_symbols ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols_regex ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'generating symbol list for \''> ($ Id.VSub_DollarName libname) <'.la\''> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.exp> } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName export_symbols)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName export_symbols_cmds)} ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {(SQ <'~'>)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [cmd1] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName cmds)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName nm_file_list_spec) <Id.Lit_TildeLike '~'> ($ Id.VSub_DollarName to_tool_file_cmd) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_TildeLike '~func_convert_file_noop' > } {<Id.Lit_Star '*'> <Id.Lit_TildeLike '~func_convert_file_msys_to_w32' > } {<Id.Lit_TildeLike '~'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'try_normal_branch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'try_normal_branch=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'try_normal_branch=' > name: try_normal_branch ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmd='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName cmd1) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_len> more_env: [] words: [ {<func_len>} { (DQ <' '> ($ Id.VSub_DollarName cmd)) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_len_result ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'try_normal_branch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'try_normal_branch=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'try_normal_branch=' > name: try_normal_branch ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName try_normal_branch ) ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName len ) ) } {<-lt>} { (DQ ($ Id.VSub_DollarName max_cmd_len ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName max_cmd_len ) ) } {<-le>} {<-1>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName cmd))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'skipped_export='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'skipped_export=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'skipped_export=' > name: skipped_export ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] spids: [51015 51063] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName nm_file_list_spec ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output_la='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_la='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output_la='> name: output_la ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_basename_result ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'save_libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_libobjs=' > name: save_libobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libobjs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'save_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_output=' > name: save_output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName output_la) <.nm> } ) ] redirects: [] ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName nm_file_list_spec ) ($ Id.VSub_DollarName func_to_tool_file_result) } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} { (DQ <' '> ($ Id.VSub_DollarName output) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'creating '> ($ Id.VSub_DollarName NM) <' input file list: '> ($ Id.VSub_DollarName output) ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [ { ($ Id.VSub_DollarName save_libobjs ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} { (DQ ($ Id.VSub_DollarName obj) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName func_to_tool_file_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output) ) } ) ] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmd='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName cmd1) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName cmd))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName save_output ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName save_libobjs ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'skipped_export='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'skipped_export=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'skipped_export=' > name: skipped_export ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] spids: [51081 51092] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ < 'using reloadable object file for export list...' > ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'skipped_export='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'skipped_export='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'skipped_export=' > name: skipped_export ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols_regex ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } { (DQ ($ Id.VSub_DollarName skipped_export ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '$MV "${export_symbols}T" "$export_symbols"' > ) } ] redirects: [] do_fork: T ) ] spids: [51258 51282] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50861 50884] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50847 50858] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName include_expsyms))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmp_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_export_symbols='> name: tmp_export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName export_symbols)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName orig_export_symbols))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_export_symbols='> name: tmp_export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName orig_export_symbols)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [51309 51330] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName skipped_export))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName orig_export_symbols))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'filter symbol list for \''> ($ Id.VSub_DollarName libname) <'.la\' to tag DATA exports'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} { (SQ < '/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,' > ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName export_symbols)} ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> } ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} { (DQ <' '> ($ Id.VSub_DollarName export_symbols) <' '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.def> } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-f>} {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName orig_export_symbols)} ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName export_symbols)} ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [51366 51390] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_deplibs='> name: tmp_deplibs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [test_deplib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName deplibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName convenience) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName test_deplib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<tmp_deplibs>} {(DQ <' '> ($ Id.VSub_DollarName test_deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'deplibs='> name: deplibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tmp_deplibs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName convenience))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName whole_archive_flag_spec ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName compiler_needs_object ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libobjs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'whole_archive_flag_spec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'whole_archive_flag_spec='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'whole_archive_flag_spec='> name: whole_archive_flag_spec ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [51578 51613] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName whole_archive_flag_spec ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_libobjs='> name: save_libobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libobjs)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libobjs='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <libobjs> } {($ Id.VSub_DollarName whole_archive_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName libobjs))} {<Id.Lit_Equals '='>} {(DQ <'X '>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [51630 51641] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gentop='> name: gentop ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<generated>} {(DQ <' '> ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_archives> more_env: [] words: [ {<func_extract_archives>} {($ Id.VSub_DollarName gentop)} {($ Id.VSub_DollarName convenience)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} { (DQ <' '> ($ Id.VSub_DollarName func_extract_archives_result) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName libobjs))} {<Id.Lit_Equals '='>} {(DQ <'X '>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [51564 51575] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName thread_safe))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName thread_safe_flag_spec) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'flag='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName thread_safe_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<linker_flags>} {(DQ <' '> ($ Id.VSub_DollarName flag))} ] redirects: [] do_fork: T ) ] spids: [51742 51765] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' > ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] spids: [51794 51807] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName module))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName module_cmds))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName module_expsym_cmds ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'test_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName module_expsym_cmds) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName module_expsym_cmds)} ) ] redirects: [] ) ] spids: [51861 51882] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'test_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName module_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName module_cmds)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [51835 51858] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName export_symbols))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName archive_expsym_cmds) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'test_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName archive_expsym_cmds) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName archive_expsym_cmds)} ) ] redirects: [] ) ] spids: [51918 51939] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'test_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName archive_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName archive_cmds)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName skipped_export))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_len> more_env: [] words: [ {<func_len>} {(DQ <' '> ($ Id.VSub_DollarName test_cmds))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_len_result)} ) ] redirects: [] ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName len))} {<-lt>} {(DQ ($ Id.VSub_DollarName max_cmd_len))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName max_cmd_len))} {<-le>} {<-1>} ] redirects: [] do_fork: T ) ] ops: [ <Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DPipe _> ] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [51976 52033] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName convenience))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName whole_archive_flag_spec ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_libobjs='> name: save_libobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libobjs)} ) ] redirects: [] ) ] spids: [52087 52108] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'save_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_output='> name: save_output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output_la='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_la='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output_la='> name: output_la ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'test_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'test_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'test_cmds='> name: test_cmds ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'concat_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'concat_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'concat_cmds='> name: concat_cmds ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objlist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objlist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'objlist='> name: objlist ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'last_robj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last_robj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'last_robj='> name: last_robj ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'k='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'k='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'k='> name:k) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName save_libobjs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName skipped_export))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName with_gnu_ld))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName output_la) <.lnkscript> } ) ] redirects: [] ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'creating GNU ld script: '> ($ Id.VSub_DollarName output) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'INPUT ('>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName save_libobjs)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName func_to_tool_file_result ) ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <')'>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} {(DQ <' '> ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_to_tool_file_result)} ) ] redirects: [] ) ] spids: [52159 52195] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName save_libobjs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.Lit_Colon ':'>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName skipped_export))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName file_list_spec))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName output_la) <.lnk> } ) ] redirects: [] ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'creating linker input file list: '> ($ Id.VSub_DollarName output) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<x>} {($ Id.VSub_DollarName save_libobjs)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'firstobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'firstobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'firstobj='> name: firstobj ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName compiler_needs_object ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'firstobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'firstobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'firstobj='> name: firstobj ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1) <' '>)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [52361 52374] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName func_to_tool_file_result ) ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} {(DQ <' '> ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName firstobj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName file_list_spec) ($ Id.VSub_DollarName func_to_tool_file_result) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ) ] redirects: [] ) ] spids: [52289 52323] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName save_libobjs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} {(DQ <'creating reloadable object files...'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName output_la) <-> ($ Id.VSub_DollarName k) <.> ($ Id.VSub_DollarName objext) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'test_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName reload_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_len> more_env: [] words: [ {<func_len>} {(DQ <' '> ($ Id.VSub_DollarName test_cmds))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len0='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len0='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len0='> name: len0 ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_len_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName len0)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName save_libobjs)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_len> more_env: [] words: [ {<func_len>} {(DQ <' '> ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName len)} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName func_len_result)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_arith_result) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName objlist ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName len ) ) } {<-lt>} { (DQ ($ Id.VSub_DollarName max_cmd_len ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<objlist>} { (DQ <' '> ($ Id.VSub_DollarName obj)) } ] redirects: [] do_fork: T ) ] spids: [52540 52566] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<-eq>} { (DQ ($ Id.VSub_DollarName k ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'reload_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_objs=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_objs=' > name: reload_objs ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName objlist ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName reload_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] spids: [52590 52603] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'reload_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_objs=' > name: reload_objs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName objlist) <' '> ($ Id.VSub_DollarName last_robj) ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> <Id.Lit_TildeLike '~'> ($ Id.VSub_DollarName reload_cmds) <Id.Lit_TildeLike '~'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <RM> } {($ Id.VSub_DollarName last_robj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'last_robj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last_robj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'last_robj='> name: last_robj ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName output_la) <-> ($ Id.VSub_DollarName k) <.> ($ Id.VSub_DollarName objext) } ) ] redirects: [] ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName k)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'k='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'k='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'k='> name: k ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_arith_result ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName output_la) <-> ($ Id.VSub_DollarName k) <.> ($ Id.VSub_DollarName objext) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objlist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objlist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'objlist='> name: objlist ) op: assign_op.Equal rhs: { (DQ <' '> ($ Id.VSub_DollarName obj)) } ) ] redirects: [] ) (command.Simple blame_tok: <func_len> more_env: [] words: [ {<func_len>} { (DQ <' '> ($ Id.VSub_DollarName last_robj) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName len0)} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName func_len_result)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_arith_result ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName concat_cmds))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'concat_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'concat_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'concat_cmds='> name: concat_cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName concat_cmds) <Id.Lit_TildeLike '~'> } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'reload_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_objs='> name: reload_objs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName objlist) <' '> ($ Id.VSub_DollarName last_robj) ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> ($ Id.VSub_DollarName reload_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName last_robj) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> <Id.Lit_TildeLike '~'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <RM> } {($ Id.VSub_DollarName last_robj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] spids: [52772 52783] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} {(DQ <' '> ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) ] spids: [52447 52458] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name skipped_export> var_name: skipped_export suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<false>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'generating symbol list for \''> ($ Id.VSub_DollarName libname) <'.la\''> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.exp> } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName export_symbols)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName concat_cmds))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'concat_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'concat_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'concat_cmds='> name: concat_cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName concat_cmds) <Id.Lit_TildeLike '~'> } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> ($ Id.VSub_DollarName export_symbols_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName last_robj) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> <Id.Lit_TildeLike '~'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <RM> } {($ Id.VSub_DollarName last_robj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] spids: [52893 52904] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName save_libobjs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'creating a temporary reloadable object file: '> ($ Id.VSub_DollarName output) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {(SQ <'~'>)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [cmd] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName concat_cmds)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_quiet'> more_env: [] words: [{($ Id.VSub_DollarName opt_quiet)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_quote_for_expand> more_env: [] words: [ {<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName cmd))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'func_echo '> ($ Id.VSub_DollarName func_quote_for_expand_result ) ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName cmd))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'lt_exit='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_exit='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_exit='> name: lt_exit ) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName opt_mode ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Subshell left: <Id.Op_LParen _> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} { (DQ ($ Id.VSub_DollarName output_objdir ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} { (DQ (${ Id.VSub_Name realname) <T> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} { (DQ (${ Id.VSub_Name realname) <U> ) } { (DQ ($ Id.VSub_DollarName realname ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) right: <Id.Right_Subshell _> redirects: [] ) ] spids: [53027 53040] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName lt_exit)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols_regex ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name skipped_export> var_name: skipped_export suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<false>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(SQ <'$MV "${export_symbols}T" "$export_symbols"'>)} ] redirects: [] do_fork: T ) ] spids: [53104 53123] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name skipped_export> var_name: skipped_export suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<false>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName include_expsyms ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tmp_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_export_symbols='> name: tmp_export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName export_symbols)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName orig_export_symbols) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_export_symbols=' > name: tmp_export_symbols ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName orig_export_symbols ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [53158 53179] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName orig_export_symbols ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'filter symbol list for \''> ($ Id.VSub_DollarName libname) <'.la\' to tag DATA exports'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} { (SQ < '/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,' > ) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName export_symbols)} ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> } ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<delfiles>} { (DQ <' '> ($ Id.VSub_DollarName export_symbols) <' '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'export_symbols='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'export_symbols='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_symbols='> name: export_symbols ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.def> } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-f>} {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: { ($ Id.VSub_DollarName orig_export_symbols ) } ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName export_symbols)} ) ] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [53215 53226] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_output)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName convenience))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName whole_archive_flag_spec ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libobjs='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <libobjs> } {($ Id.VSub_DollarName whole_archive_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName libobjs))} {<Id.Lit_Equals '='>} {(DQ <'X '>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [53350 53371] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName module))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName module_cmds))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName module_expsym_cmds ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName module_expsym_cmds)} ) ] redirects: [] ) ] spids: [53445 53466] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName module_cmds)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [53419 53442] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName export_symbols) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName archive_expsym_cmds ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName archive_expsym_cmds)} ) ] redirects: [] ) ] spids: [53486 53507] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmds='> name: cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName archive_cmds)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName delfiles))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <cmds> <Id.Lit_TildeLike '~'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <RM> } {($ Id.VSub_DollarName delfiles) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] spids: [53531 53542] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlprefiles))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gentop='> name: gentop ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<generated>} {(DQ <' '> ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_archives> more_env: [] words: [ {<func_extract_archives>} {($ Id.VSub_DollarName gentop)} {($ Id.VSub_DollarName dlprefiles)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<libobjs>} { (DQ <' '> ($ Id.VSub_DollarName func_extract_archives_result) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName libobjs))} {<Id.Lit_Equals '='>} {(DQ <'X '>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libobjs='> name: libobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [53571 53582] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'save_ifs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_ifs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_ifs='> name: save_ifs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(SQ <'~'>)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [cmd] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName cmds)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName nl)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmd='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName cmd) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_quiet'> more_env: [] words: [{($ Id.VSub_DollarName opt_quiet)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <func_quote_for_expand> more_env: [] words: [ {<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName cmd))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'func_echo '> ($ Id.VSub_DollarName func_quote_for_expand_result ) ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName cmd))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'lt_exit='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_exit='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_exit='> name: lt_exit ) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Subshell left: <Id.Op_LParen _> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} { (DQ ($ Id.VSub_DollarName output_objdir ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {(DQ (${ Id.VSub_Name realname) <T>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} {(DQ (${ Id.VSub_Name realname) <U>)} {(DQ ($ Id.VSub_DollarName realname))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) right: <Id.Right_Subshell _> redirects: [] ) ] spids: [53732 53745] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName lt_exit)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_ifs)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (SQ < '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' > ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName convenience))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName whole_archive_flag_spec ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(SQ <'${RM}r "$gentop"'>)} ] redirects: [] do_fork: T ) ] spids: [53861 53872] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [53847 53858] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [53813 53826] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [linkname] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName linknames)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName realname))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName linkname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' > ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [53914 53930] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName module))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName export_dynamic))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlname='> name: dlname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName soname)} ) ] redirects: [] ) ] spids: [53955 53980] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [49991 50004] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <obj> pattern: (pat.Words words:[{<obj>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName dlfiles) ($ Id.VSub_DollarName dlprefiles) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dlself))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-dlopen\' is ignored for objects'>)}] redirects: [] do_fork: T ) ] spids: [54005 54030] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName deplibs))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <-l> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <-L> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'-l\' and \'-L\' are ignored for objects'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName rpath))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-rpath\' is ignored for objects'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName xrpath))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-R\' is ignored for objects'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName vinfo))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-version-info\' is ignored for objects'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName release))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-release\' is ignored for objects'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName output)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName objs) ($ Id.VSub_DollarName old_deplibs) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot build library object \''> ($ Id.VSub_DollarName output) <'\' from non-libtool objects'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobj='> name:libobj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) (command.Simple blame_tok: <func_lo2o> more_env: [] words: [{<func_lo2o>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'obj='> name:obj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_lo2o_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobj='> name:libobj) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'obj='> name:obj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName obj)} {($ Id.VSub_DollarName libobj)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'reload_conv_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_conv_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_conv_objs='> name: reload_conv_objs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gentop='> name:gentop) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName reload_cmds)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <Id.Lit_ArrayLhsOpen 'LD['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'wl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'wl='> name:wl) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName convenience))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName whole_archive_flag_spec))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'tmp_whole_archive_flags='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName whole_archive_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName wl))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp_whole_archive_flags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp_whole_archive_flags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tmp_whole_archive_flags='> name: tmp_whole_archive_flags ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName tmp_whole_archive_flags ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s|,| |g'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'reload_conv_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_conv_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_conv_objs='> name: reload_conv_objs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName reload_objs) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) ($ Id.VSub_DollarName tmp_whole_archive_flags) } ) ] redirects: [] ) ] spids: [54320 54331] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gentop='> name: gentop ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name obj) <x> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<generated>} {(DQ <' '> ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_archives> more_env: [] words: [ {<func_extract_archives>} {($ Id.VSub_DollarName gentop)} {($ Id.VSub_DollarName convenience)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'reload_conv_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_conv_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_conv_objs='> name: reload_conv_objs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName reload_objs) <' '> ($ Id.VSub_DollarName func_extract_archives_result) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [54306 54317] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'libobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libobjs='> name:libobjs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName non_pic_objects)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'reload_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_objs='> name: reload_objs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName objs) ($ Id.VSub_DollarName old_deplibs) (SQ <' '>) (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName libobjs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (DQ <'/'> <Id.Lit_BadBackslash '\\'> <.> ($ Id.VSub_DollarName libext) <Id.Lit_Dollar '$'> <'/d; /'> <Id.Lit_BadBackslash '\\'> <.lib> <Id.Lit_Dollar '$'> <'/d; '> ($ Id.VSub_DollarName lo2o) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) (SQ <' '>) ($ Id.VSub_DollarName reload_conv_objs) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {($ Id.VSub_DollarName obj)} ) ] redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName reload_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libobj))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [{<func_show_eval>} {(SQ <'${RM}r "$gentop"'>)}] redirects: [] do_fork: T ) ] spids: [54534 54545] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [54520 54531] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [{<func_show_eval>} {(SQ <'${RM}r "$gentop"'>)}] redirects: [] do_fork: T ) ] spids: [54583 54594] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName pic_flag))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<default>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_mode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'reload_objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'reload_objs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'reload_objs='> name: reload_objs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName libobjs) <' '> ($ Id.VSub_DollarName reload_conv_objs) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libobj)} ) ] redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName reload_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [54633 54657] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName gentop))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [{<func_show_eval>} {(SQ <'${RM}r "$gentop"'>)}] redirects: [] do_fork: T ) ] spids: [54691 54702] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <prog> pattern: (pat.Words words:[{<prog>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result) <.exe>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName vinfo))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-version-info\' is ignored for programs'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName release))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [{<func_warning>} {(DQ <'\'-release\' is ignored for programs'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$preload'> more_env: [] words: [{($ Id.VSub_DollarName preload)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<unknown> <Id.Lit_Comma ','> <unknown> <Id.Lit_Comma ','> <unknown>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName dlopen_support) <','> ($ Id.VSub_DollarName dlopen_self) <','> ($ Id.VSub_DollarName dlopen_self_static) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'\'LT_INIT([dlopen])\' not used. Assuming no dlopen support.'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-rhapsody> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin1.> <Id.Lit_LBracket '['> <012> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName compile_deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s/ -lc / System.ltframework /'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName finalize_deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s/ -lc / System.ltframework /'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<CXX>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName tagname))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MACOSX_DEPLOYMENT_TARGET> var_name: MACOSX_DEPLOYMENT_TARGET suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<10.0>} ) right: <Id.Right_DollarBrace '}'> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <10.> pattern: (pat.Words words: [ {<10.> <Id.Lit_LBracket '['> <0123> <Id.Lit_RBracket ']'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName wl) <-bind_at_load>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName wl) <-bind_at_load>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [54941 54954] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName compile_deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_deplibs='> name: finalize_deplibs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <' '> ($ Id.VSub_DollarName finalize_deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} { (SQ < 's% \\([^ $]*\\).ltframework% -framework \\1%g' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'new_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'new_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'new_libs='> name:new_libs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [path] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName notinst_path)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName new_libs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName compile_deplibs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_libs>} { (DQ <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName compile_deplibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName deplib)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-L> pattern: (pat.Words words:[{<-L> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName new_libs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName deplib) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<new_libs>} {(DQ <' '> ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_deplibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_deplibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_deplibs='> name: compile_deplibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName new_libs)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<compile_command>} {(DQ <' '> ($ Id.VSub_DollarName compile_deplibs))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_command>} {(DQ <' '> ($ Id.VSub_DollarName finalize_deplibs))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName rpath) ($ Id.VSub_DollarName xrpath) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName rpath)} {($ Id.VSub_DollarName xrpath)} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName finalize_rpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_rpath>} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [55289 55301] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rpath='> name:rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'hardcode_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hardcode_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'hardcode_libdirs='> name: hardcode_libdirs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName compile_rpath)} {($ Id.VSub_DollarName finalize_rpath)} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_flag_spec) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'hardcode_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hardcode_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'hardcode_libdirs='> name: hardcode_libdirs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir)} ) ] redirects: [] ) ] spids: [55425 55436] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName hardcode_libdirs) ($ Id.VSub_DollarName hardcode_libdir_separator) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName libdir) ($ Id.VSub_DollarName hardcode_libdir_separator) ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<hardcode_libdirs>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [55411 55422] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'flag='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rpath>} {(DQ <' '> ($ Id.VSub_DollarName flag))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [55397 55408] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName runpath_var))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName perm_rpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<perm_rpath>} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [55519 55530] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> <-cegcc> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'testbindir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'testbindir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'testbindir='> name: testbindir ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s*/lib$*/bin*'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName dllsearchpath) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName libdir) <':'>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words: [{<Id.Lit_Colon ':'> <Id.Lit_Colon ':'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dllsearchpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dllsearchpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dllsearchpath='> name: dllsearchpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dllsearchpath>} {(DQ <':'> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {<Id.Lit_Colon ':'> ($ Id.VSub_DollarName dllsearchpath) <Id.Lit_Colon ':'> } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <':'> ($ Id.VSub_DollarName testbindir) <':'>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words: [{<Id.Lit_Colon ':'> <Id.Lit_Colon ':'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dllsearchpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dllsearchpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dllsearchpath='> name: dllsearchpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName testbindir)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<dllsearchpath>} {(DQ <':'> ($ Id.VSub_DollarName testbindir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName hardcode_libdir_separator))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName hardcode_libdirs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libdir='> name:libdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName hardcode_libdirs)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'rpath='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } {($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] spids: [55750 55772] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_rpath='> name: compile_rpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName rpath)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rpath='> name:rpath) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'hardcode_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hardcode_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'hardcode_libdirs='> name: hardcode_libdirs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [libdir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName finalize_rpath)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_flag_spec) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'hardcode_libdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hardcode_libdirs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'hardcode_libdirs='> name: hardcode_libdirs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir)} ) ] redirects: [] ) ] spids: [55842 55853] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName hardcode_libdirs) ($ Id.VSub_DollarName hardcode_libdir_separator) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName libdir) ($ Id.VSub_DollarName hardcode_libdir_separator) ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<hardcode_libdirs>} { (DQ ($ Id.VSub_DollarName hardcode_libdir_separator ) ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [55828 55839] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'flag='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rpath>} {(DQ <' '> ($ Id.VSub_DollarName flag))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [55814 55825] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName runpath_var))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ ($ Id.VSub_DollarName finalize_perm_rpath) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName libdir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<finalize_perm_rpath>} {(DQ <' '> ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [55936 55947] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName hardcode_libdir_separator))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName hardcode_libdirs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libdir='> name:libdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName hardcode_libdirs)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'rpath='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } {($ Id.VSub_DollarName hardcode_libdir_flag_spec) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] spids: [56000 56022] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_rpath='> name: finalize_rpath ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName rpath)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName libobjs))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName compile_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName lo2o))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName finalize_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName lo2o))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [56046 56069] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_generate_dlsyms> more_env: [] words: [ {<func_generate_dlsyms>} {(DQ ($ Id.VSub_DollarName outputname))} {(DQ <'@PROGRAM@'>)} {<false>} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName prelink_cmds))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName prelink_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [56154 56165] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'wrappers_required='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrappers_required='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrappers_required='> name: wrappers_required ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw32ce> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'wrappers_required='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrappers_required='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrappers_required='> name: wrappers_required ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'wrappers_required='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrappers_required='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrappers_required='> name: wrappers_required ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName need_relink))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'wrappers_required='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wrappers_required='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wrappers_required='> name: wrappers_required ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] spids: [56253 56279] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$wrappers_required'> more_env: [] words: [{($ Id.VSub_DollarName wrappers_required)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName compile_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s%@OUTPUT@%'>) (DQ ($ Id.VSub_DollarName output)) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName compile_rpath) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exit_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_status='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'exit_status='> name: exit_status ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName link_command))} {(SQ <'exit_status=$?'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [{<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'postlink_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'postlink_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'postlink_cmds='> name: postlink_cmds ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <func_echo_all> more_env: [] words: [ {<func_echo_all>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s%@OUTPUT@%'>) (DQ ($ Id.VSub_DollarName output)) (SQ <'%g'>) } {<-e>} {(SQ <'s%@TOOL_OUTPUT@%'>) (DQ ($ Id.VSub_DollarName func_to_tool_file_result ) ) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [56358 56369] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <S.> ($ Id.VSub_DollarName objext) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(SQ <'$RM "$output_objdir/${outputname}S.$objext"'>)} ] redirects: [] do_fork: T ) ] spids: [56438 56455] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName exit_status)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName compile_shlibpath) ($ Id.VSub_DollarName finalize_shlibpath) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'compile_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_command='> name: compile_command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName shlibpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName compile_shlibpath) ($ Id.VSub_DollarName finalize_shlibpath) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> ($ Id.VSub_DollarName compile_command) ) } ) ] redirects: [] ) ] spids: [56478 56490] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName finalize_shlibpath))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'finalize_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_command='> name: finalize_command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName shlibpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName finalize_shlibpath) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName shlibpath_var) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> ($ Id.VSub_DollarName finalize_command) ) } ) ] redirects: [] ) ] spids: [56511 56522] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_var='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_var='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_var='> name: compile_var ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_var='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_var='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_var='> name: finalize_var ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName runpath_var))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName perm_rpath))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'rpath='> name: rpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName perm_rpath)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rpath>} {(DQ ($ Id.VSub_DollarName dir) <':'>)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_var='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_var='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_var='> name: compile_var ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName runpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName rpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName runpath_var) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> ) } ) ] redirects: [] ) ] spids: [56563 56574] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName finalize_perm_rpath))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'rpath='> name: rpath ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName finalize_perm_rpath)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rpath>} {(DQ ($ Id.VSub_DollarName dir) <':'>)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalize_var='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_var='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_var='> name: finalize_var ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName runpath_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName rpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName runpath_var) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> ) } ) ] redirects: [] ) ] spids: [56625 56636] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [56549 56560] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName no_install))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName compile_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName compile_rpath) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName link_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s%@OUTPUT@%'>) (DQ ($ Id.VSub_DollarName output)) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [{($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName output)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName link_command))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [{<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'postlink_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'postlink_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'postlink_cmds='> name: postlink_cmds ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <func_echo_all> more_env: [] words: [ {<func_echo_all>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s%@OUTPUT@%'>) (DQ ($ Id.VSub_DollarName output)) (SQ <'%g'>) } {<-e>} {(SQ <'s%@TOOL_OUTPUT@%'>) (DQ ($ Id.VSub_DollarName func_to_tool_file_result ) ) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [56776 56787] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [56691 56704] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName hardcode_action) <Id.Lit_Comma ','> ($ Id.VSub_DollarName fast_install) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <relink> pattern: (pat.Words words: [{<relink> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName compile_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName compile_rpath) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName finalize_var) ($ Id.VSub_DollarName finalize_command) ($ Id.VSub_DollarName finalize_rpath) } ) ] redirects: [] ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} {(DQ <'this platform does not like uninstalled shared libraries'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'\''> ($ Id.VSub_DollarName output) <'\' will be relinked during installation'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <Id.Lit_Comma ','> <yes>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName finalize_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName finalize_rpath) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName compile_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName compile_rpath) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s%@OUTPUT@%$progdir/$file%g'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <Id.Lit_Comma ','> <no>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName compile_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName compile_rpath) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName finalize_var) ($ Id.VSub_DollarName finalize_command) ($ Id.VSub_DollarName finalize_rpath) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <Id.Lit_Comma ','> <needless>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName finalize_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName finalize_rpath) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_command='> name: link_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName link_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(SQ <'s%@OUTPUT@%'>) (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) ) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName output)} {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) } {($ Id.VSub_DollarName output_objdir) <'/lt-'> ($ Id.VSub_DollarName outputname) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName link_command))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName postlink_cmds))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'postlink_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'postlink_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'postlink_cmds='> name: postlink_cmds ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <func_echo_all> more_env: [] words: [ {<func_echo_all>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-e>} {(SQ <'s%@OUTPUT@%'>) (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) ) (SQ <'%g'>) } {<-e>} {(SQ <'s%@TOOL_OUTPUT@%'>) (DQ ($ Id.VSub_DollarName func_to_tool_file_result) ) (SQ <'%g'>) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName postlink_cmds))} {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [57063 57074] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [{<func_verbose>} {(DQ <'creating '> ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName relink_command))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [var] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName variables_saved_for_relink)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<test>} {<-z>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <Id.Lit_LBrace '{'> ($ Id.VSub_DollarName var) <Id.Lit_Other '+'> <set> <Id.Lit_RBrace '}'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ <'{ test -z '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{'> ($ Id.VSub_DollarName var) <'+set}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' || '> ($ Id.VSub_DollarName lt_unset) <' '> ($ Id.VSub_DollarName var) <' || { '> ($ Id.VSub_DollarName var) <'=; export '> ($ Id.VSub_DollarName var) <'; }; }; '> ($ Id.VSub_DollarName relink_command) ) } ) ] redirects: [] ) ] spids: [57190 57208] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'var_value='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName var) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName var_value))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName var) <'=; export '> ($ Id.VSub_DollarName var) <'; '> ($ Id.VSub_DollarName relink_command) ) } ) ] redirects: [] ) ] spids: [57233 57251] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName var_value))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName var) <'='> ($ Id.VSub_DollarName func_quote_for_eval_result) <'; export '> ($ Id.VSub_DollarName var) <'; '> ($ Id.VSub_DollarName relink_command) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ <'(cd '> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <'; '> ($ Id.VSub_DollarName relink_command) <')'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName relink_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_quote_subst))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [57160 57171] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName output)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.exe>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName output))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'exeext='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exeext='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'exeext='> name: exeext ) op: assign_op.Equal rhs: {<.exe>} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName outputname))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'outputname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'outputname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'outputname='> name: outputname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'exeext='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exeext='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'exeext='> name: exeext ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName host)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_dirname_and_basename> more_env: [] words: [ {<func_dirname_and_basename>} {(DQ ($ Id.VSub_DollarName output))} {(DQ )} {(DQ <.>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output_name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output_name='> name: output_name ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output_path='> name: output_path ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cwrappersource='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cwrappersource='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cwrappersource='> name: cwrappersource ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_path) <'/'> ($ Id.VSub_DollarName objdir) <'/lt-'> ($ Id.VSub_DollarName output_name) <.c> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cwrapper='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cwrapper='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cwrapper='> name: cwrapper ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_path) <'/'> ($ Id.VSub_DollarName output_name) <.exe> } ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName cwrappersource)} {($ Id.VSub_DollarName cwrapper)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <trap> more_env: [] words: [ {<trap>} { (DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName cwrappersource) <' '> ($ Id.VSub_DollarName cwrapper) <'; exit '> ($ Id.VSub_DollarName EXIT_FAILURE) ) } {<1>} {<2>} {<15>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_emit_cwrapperexe_src> more_env: [] words: [{<func_emit_cwrapperexe_src>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName cwrappersource)} ) ] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$LTCC'> more_env: [] words: [ {($ Id.VSub_DollarName LTCC)} {($ Id.VSub_DollarName LTCFLAGS)} {<-o>} {($ Id.VSub_DollarName cwrapper)} {($ Id.VSub_DollarName cwrappersource)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$STRIP'> more_env: [] words: [ {($ Id.VSub_DollarName STRIP)} {($ Id.VSub_DollarName cwrapper)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_ltwrapper_scriptname> more_env: [] words: [ {<func_ltwrapper_scriptname>} {($ Id.VSub_DollarName cwrapper)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName func_ltwrapper_scriptname_result)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <trap> more_env: [] words: [ {<trap>} { (DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName func_ltwrapper_scriptname_result) <'; exit '> ($ Id.VSub_DollarName EXIT_FAILURE) ) } {<1>} {<2>} {<15>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <x> ($ Id.VSub_DollarName build)) } {<Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_DollarName host))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$cwrapper'> more_env: [] words: [ {($ Id.VSub_DollarName cwrapper)} {<--lt-dump-script>} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { ($ Id.VSub_DollarName func_ltwrapper_scriptname_result ) } ) ] do_fork: T ) ] spids: [57613 57630] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_emit_wrapper> more_env: [] words: [{<func_emit_wrapper>} {<no>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { ($ Id.VSub_DollarName func_ltwrapper_scriptname_result ) } ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName output)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <trap> more_env: [] words: [ {<trap>} { (DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName output) <'; exit '> ($ Id.VSub_DollarName EXIT_FAILURE) ) } {<1>} {<2>} {<15>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_emit_wrapper> more_env: [] words: [{<func_emit_wrapper>} {<no>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [ {<chmod>} {<Id.Lit_Other '+'> <x>} {($ Id.VSub_DollarName output)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [oldlib] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName oldlibs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName build_libtool_libs)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <convenience> pattern: (pat.Words words:[{<convenience>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName libobjs_save) <' '> ($ Id.VSub_DollarName symfileobj) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'addlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'addlibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'addlibs='> name: addlibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName convenience)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <module> pattern: (pat.Words words:[{<module>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libobjs_save)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'addlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'addlibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'addlibs='> name: addlibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_convenience)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'build_libtool_libs='> name: build_libtool_libs ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName old_deplibs) <' '> ($ Id.VSub_DollarName non_pic_objects) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$preload'> more_env: [] words: [{($ Id.VSub_DollarName preload)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName symfileobj))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<oldobjs>} {(DQ <' '> ($ Id.VSub_DollarName symfileobj))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'addlibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'addlibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'addlibs='> name: addlibs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_convenience)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName addlibs))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gentop='> name:gentop) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<generated>} {(DQ <' '> ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_archives> more_env: [] words: [ {<func_extract_archives>} {($ Id.VSub_DollarName gentop)} {($ Id.VSub_DollarName addlibs)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<oldobjs>} {(DQ <' '> ($ Id.VSub_DollarName func_extract_archives_result))} ] redirects: [] do_fork: T ) ] spids: [57844 57855] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_archive_from_new_cmds))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmds='> name:cmds) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_archive_from_new_cmds)} ) ] redirects: [] ) ] spids: [57903 57926] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlprefiles))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gentop='> name: gentop ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<generated>} {(DQ <' '> ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_extract_archives> more_env: [] words: [ {<func_extract_archives>} {($ Id.VSub_DollarName gentop)} {($ Id.VSub_DollarName dlprefiles)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<oldobjs>} {(DQ <' '> ($ Id.VSub_DollarName func_extract_archives_result))} ] redirects: [] do_fork: T ) ] spids: [57941 57952] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Subshell left: <Id.Op_LParen _> child: (command.Pipeline children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName oldobjs)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName func_basename_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-uc>}] 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 ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Right_Subshell _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [58020 58069] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'copying selected object files to avoid basename conflicts...'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'gentop='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gentop='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gentop='> name:gentop) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> } ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<generated>} {(DQ <' '> ($ Id.VSub_DollarName gentop))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_mkdir_p> more_env: [] words: [{<func_mkdir_p>} {(DQ ($ Id.VSub_DollarName gentop))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_oldobjs='> name: save_oldobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName oldobjs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'counter='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'counter='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'counter='> name: counter ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName save_oldobjs)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName obj))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'objbase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objbase='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'objbase='> name: objbase ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName oldobjs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ <' '>)}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName obj)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <'/'> <Id.Lit_RBracket ']'> (DQ ($ Id.VSub_DollarName objbase) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'newobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newobj='> name: newobj ) op: assign_op.Equal rhs: {<lt> ($ Id.VSub_DollarName counter) <-> ($ Id.VSub_DollarName objbase) } ) ] redirects: [] ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName counter)} {<Id.Lit_Other '+'>} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'counter='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'counter='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'counter='> name: counter ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_arith_result) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName oldobjs) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <'/'> <Id.Lit_RBracket ']'> (DQ ($ Id.VSub_DollarName newobj) <' '> ) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName gentop ) <'/'> ($ Id.VSub_DollarName newobj) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.ControlFlow keyword: <Id.ControlFlow_Break break > ) terminator: <Id.Op_Semi _> ) ] spids: [58245 58260] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (DQ <'ln '> ($ Id.VSub_DollarName obj) <' '> ($ Id.VSub_DollarName gentop) <'/'> ($ Id.VSub_DollarName newobj) <' || cp '> ($ Id.VSub_DollarName obj) <' '> ($ Id.VSub_DollarName gentop) <'/'> ($ Id.VSub_DollarName newobj) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<oldobjs>} { (DQ <' '> ($ Id.VSub_DollarName gentop) <'/'> ($ Id.VSub_DollarName newobj) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<oldobjs>} {(DQ <' '> ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName oldlib))} {<func_convert_file_msys_to_w32>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tool_oldlib='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tool_oldlib='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tool_oldlib='> name: tool_oldlib ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_to_tool_file_result)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName old_archive_cmds) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_len> more_env: [] words: [{<func_len>} {(DQ <' '> ($ Id.VSub_DollarName cmds))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_len_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName len))} {<-lt>} {(DQ ($ Id.VSub_DollarName max_cmd_len))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName max_cmd_len))} {<-le>} {<-1>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmds='> name:cmds) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_archive_cmds)} ) ] redirects: [] ) ] spids: [58367 58394] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName archiver_list_spec))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} {(DQ <'using command file archive linking...'>)} ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName oldobjs)}]) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} {(DQ ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName func_to_tool_file_result))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.libcmd> } ) ] ) (command.Simple blame_tok: <func_to_tool_file> more_env: [] words: [ {<func_to_tool_file>} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.libcmd> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: { (DQ <' '> ($ Id.VSub_DollarName archiver_list_spec) ($ Id.VSub_DollarName func_to_tool_file_result) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmds='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmds='> name:cmds) op: assign_op.Equal rhs: {($ Id.VSub_DollarName old_archive_cmds)} ) ] redirects: [] ) ] spids: [58401 58412] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [{<func_verbose>} {(DQ <'using piecewise archive linking...'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_RANLIB='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_RANLIB='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_RANLIB='> name: save_RANLIB ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName RANLIB)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RANLIB='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RANLIB='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RANLIB='> name:RANLIB) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objlist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objlist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'objlist='> name: objlist ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'concat_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'concat_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'concat_cmds='> name: concat_cmds ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'save_oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_oldobjs='> name: save_oldobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName oldobjs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName save_oldobjs)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'last_oldobj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last_oldobj='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'last_oldobj='> name: last_oldobj ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName obj)} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'test_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName old_archive_cmds) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_len> more_env: [] words: [{<func_len>} {(DQ <' '> ($ Id.VSub_DollarName test_cmds))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len0='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len0='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len0='> name:len0) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_len_result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len) op: assign_op.Equal rhs: {($ Id.VSub_DollarName len0)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [obj] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName save_oldobjs)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_len> more_env: [] words: [{<func_len>} {(DQ <' '> ($ Id.VSub_DollarName obj))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_arith> more_env: [] words: [ {<func_arith>} {($ Id.VSub_DollarName len)} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName func_len_result)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_arith_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<objlist>} {(DQ <' '> ($ Id.VSub_DollarName obj))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName len))} {<-lt>} {(DQ ($ Id.VSub_DollarName max_cmd_len))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [58605 58620] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName objlist)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName obj))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName last_oldobj))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'RANLIB='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RANLIB='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'RANLIB='> name: RANLIB ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_RANLIB)} ) ] redirects: [] ) ] spids: [58637 58652] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName concat_cmds))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'concat_cmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'concat_cmds='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'concat_cmds='> name: concat_cmds ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName concat_cmds) <Id.Lit_TildeLike '~'> } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'concat_cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> ($ Id.VSub_DollarName old_archive_cmds) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'objlist='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objlist='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'objlist='> name: objlist ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'len='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'len='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'len='> name: len ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName len0)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RANLIB='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RANLIB='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RANLIB='> name:RANLIB) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_RANLIB)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldobjs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'oldobjs='> name: oldobjs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName objlist)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName oldobjs))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) ] spids: [58708 58719] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <concat_cmds> <Id.Lit_TildeLike '~'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <old_archive_cmds> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [{<func_execute_cmds>} {(DQ ($ Id.VSub_DollarName cmds))} {(SQ <'exit $?'>)}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName generated))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ (${ Id.VSub_Name RM) <r> ($ Id.VSub_DollarName generated))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName output)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'old_library='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_library='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_library='> name: old_library ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName build_old_libs))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'old_library='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'old_library='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'old_library='> name: old_library ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libname) <.> ($ Id.VSub_DollarName libext)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <func_verbose> more_env: [] words: [{<func_verbose>} {(DQ <'creating '> ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [var] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName variables_saved_for_relink)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<test>} {<-z>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <Id.Lit_LBrace '{'> ($ Id.VSub_DollarName var) <Id.Lit_Other '+'> <set> <Id.Lit_RBrace '}'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ <'{ test -z '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{'> ($ Id.VSub_DollarName var) <'+set}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' || '> ($ Id.VSub_DollarName lt_unset) <' '> ($ Id.VSub_DollarName var) <' || { '> ($ Id.VSub_DollarName var) <'=; export '> ($ Id.VSub_DollarName var) <'; }; }; '> ($ Id.VSub_DollarName relink_command) ) } ) ] redirects: [] ) ] spids: [58856 58874] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'var_value='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName var) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName var_value))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName var) <'=; export '> ($ Id.VSub_DollarName var) <'; '> ($ Id.VSub_DollarName relink_command) ) } ) ] redirects: [] ) ] spids: [58899 58917] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_quote_for_eval> more_env: [] words: [ {<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName var_value))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName var) <'='> ($ Id.VSub_DollarName func_quote_for_eval_result) <'; export '> ($ Id.VSub_DollarName var) <'; '> ($ Id.VSub_DollarName relink_command) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (DQ <'(cd '> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <'; '> ($ Id.VSub_DollarName SHELL) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName progpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> ($ Id.VSub_DollarName preserve_args) <' --mode=relink '> ($ Id.VSub_DollarName libtool_args) <' @inst_prefix_dir@)'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName relink_command))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {(DQ ($ Id.VSub_DollarName sed_quote_subst))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName hardcode_automatic))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [59004 59017] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_dry_run'> more_env: [] words: [{($ Id.VSub_DollarName opt_dry_run)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [installed] iterable: (for_iter.Words words:[{<no>} {<yes>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName installed))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName install_libdir ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [59068 59079] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'output='> name: output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <i> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdependency_libs='> name: newdependency_libs ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [deplib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dependency_libs)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName deplib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.la>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_basename_result ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_resolve_sysroot> more_env: [] words: [ {<func_resolve_sysroot>} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libdir='> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ { ($ Id.VSub_DollarName SED) } {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName func_resolve_sysroot_result ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName deplib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdependency_libs>} { (DQ <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name lt_sysroot> var_name: lt_sysroot suffix_op: (suffix_op.Unary op: <Id.VTest_ColonPlus _> arg_word: {<'='>} ) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName name) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-L> pattern: (pat.Words words: [{<-L> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<-L>} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_replace_sysroot> more_env: [] words: [ {<func_replace_sysroot>} { (DQ ($ Id.VSub_DollarName func_stripname_result ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdependency_libs>} { (DQ <' -L'> ($ Id.VSub_DollarName func_replace_sysroot_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-R> pattern: (pat.Words words: [{<-R> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {<-R>} {(SQ )} {(DQ ($ Id.VSub_DollarName deplib))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_replace_sysroot> more_env: [] words: [ {<func_replace_sysroot>} { (DQ ($ Id.VSub_DollarName func_stripname_result ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdependency_libs>} { (DQ <' -R'> ($ Id.VSub_DollarName func_replace_sysroot_result ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdependency_libs>} { (DQ <' '> ($ Id.VSub_DollarName deplib) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dependency_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dependency_libs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dependency_libs='> name: dependency_libs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdependency_libs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdlfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdlfiles='> name: newdlfiles ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dlfiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName lib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.la>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_basename_result ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libdir='> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ { ($ Id.VSub_DollarName SED) } {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName lib) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName lib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlfiles>} { (DQ <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name lt_sysroot> var_name: lt_sysroot suffix_op: (suffix_op.Unary op: <Id.VTest_ColonPlus _> arg_word: {<'='>} ) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName name) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlfiles>} { (DQ <' '> ($ Id.VSub_DollarName lib)) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlfiles='> name: dlfiles ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdlfiles)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdlprefiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdlprefiles='> name: newdlprefiles ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dlprefiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName lib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <.la>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_basename> more_env: [] words: [ {<func_basename>} {(DQ ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'name='> name: name ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_basename_result ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'libdir='> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ { ($ Id.VSub_DollarName SED) } {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName lib) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} { (DQ ($ Id.VSub_DollarName libdir) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'\''> ($ Id.VSub_DollarName lib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} { (DQ <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name lt_sysroot> var_name: lt_sysroot suffix_op: (suffix_op.Unary op: <Id.VTest_ColonPlus _> arg_word: {<'='>} ) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName name) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlprefiles='> name: dlprefiles ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdlprefiles)} ) ] redirects: [] ) ] spids: [59052 59065] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'newdlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdlfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdlfiles='> name: newdlfiles ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dlfiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName lib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch: '\\' ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'abs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs='> name: abs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lib)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'abs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs='> name: abs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) (DQ <'/'> ($ Id.VSub_DollarName lib)) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlfiles>} {(DQ <' '> ($ Id.VSub_DollarName abs))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlfiles='> name: dlfiles ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdlfiles)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'newdlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'newdlprefiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'newdlprefiles='> name: newdlprefiles ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [lib] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName dlprefiles)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName lib)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/'> <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 '\\\\'> ch: '\\' ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'abs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs='> name: abs ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lib)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'abs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'abs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'abs='> name: abs ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) (DQ <'/'> ($ Id.VSub_DollarName lib)) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<newdlprefiles>} {(DQ <' '> ($ Id.VSub_DollarName abs))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dlprefiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlprefiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlprefiles='> name: dlprefiles ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName newdlprefiles)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {($ Id.VSub_DollarName output)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tdlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tdlname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tdlname='> name: tdlname ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dlname)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName host) <Id.Lit_Comma ','> ($ Id.VSub_DollarName output) <Id.Lit_Comma ','> ($ Id.VSub_DollarName installed) <Id.Lit_Comma ','> ($ Id.VSub_DollarName module) <Id.Lit_Comma ','> ($ Id.VSub_DollarName dlname) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <cygwin> <Id.Lit_Star '*'> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <lai> <Id.Lit_Comma ','> <yes> <Id.Lit_Comma ','> <no> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <.dll> } {<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <lai> <Id.Lit_Comma ','> <yes> <Id.Lit_Comma ','> <no> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <.dll> } {<Id.Lit_Star '*'> <cegcc> <Id.Lit_Star '*'> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <lai> <Id.Lit_Comma ','> <yes> <Id.Lit_Comma ','> <no> <Id.Lit_Comma ','> <Id.Lit_Star '*'> <.dll> } ] ) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName bindir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_relative_path> more_env: [] words: [ {<func_relative_path>} {(DQ ($ Id.VSub_DollarName install_libdir))} {(DQ ($ Id.VSub_DollarName bindir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tdlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tdlname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tdlname='> name: tdlname ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName func_relative_path_result ) <'/'> ($ Id.VSub_DollarName dlname) } ) ] redirects: [] ) ] spids: [59860 59871] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tdlname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tdlname='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'tdlname='> name: tdlname ) op: assign_op.Equal rhs: {<'../bin/'> ($ Id.VSub_DollarName dlname)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'# '> ($ Id.VSub_DollarName outputname) <' - a libtool library 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'> <'# The name that we can dlopen(3).\n'> <'dlname=\''> ($ Id.VSub_DollarName tdlname) <'\'\n'> <'\n'> <'# Names of this library.\n'> <'library_names=\''> ($ Id.VSub_DollarName library_names) <'\'\n'> <'\n'> <'# The name of the static archive.\n'> <'old_library=\''> ($ Id.VSub_DollarName old_library) <'\'\n'> <'\n'> <'# Linker flags that cannot go in dependency_libs.\n'> <'inherited_linker_flags=\''> ($ Id.VSub_DollarName new_inherited_linker_flags) <'\'\n'> <'\n'> <'# Libraries that this one depends upon.\n'> <'dependency_libs=\''> ($ Id.VSub_DollarName dependency_libs) <'\'\n'> <'\n'> < '# Names of additional weak libraries provided by this library\n' > <'weak_library_names=\''> ($ Id.VSub_DollarName weak_libs) <'\'\n'> <'\n'> <'# Version information for '> ($ Id.VSub_DollarName libname) <'.\n'> <'current='> ($ Id.VSub_DollarName current) <'\n'> <'age='> ($ Id.VSub_DollarName age) <'\n'> <'revision='> ($ Id.VSub_DollarName revision) <'\n'> <'\n'> <'# Is this an already installed library?\n'> <'installed='> ($ Id.VSub_DollarName installed) <'\n'> <'\n'> < '# Should we warn about portability when linking against -modules?\n' > <'shouldnotlink='> ($ Id.VSub_DollarName module) <'\n'> <'\n'> <'# Files to dlopen/dlpreopen\n'> <'dlopen=\''> ($ Id.VSub_DollarName dlfiles) <'\'\n'> <'dlpreopen=\''> ($ Id.VSub_DollarName dlprefiles) <'\'\n'> <'\n'> < '# Directory that this library needs to be installed in:\n' > <'libdir=\''> ($ Id.VSub_DollarName install_libdir) <'\''> ) } ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<no> <Id.Lit_Comma ','> <yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName installed) <','> ($ Id.VSub_DollarName need_relink) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'relink_command='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName relink_command) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName output)} ) ] do_fork: T ) ] spids: [60002 60019] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} { (SQ < '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' > ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<link>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<relink>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_mode_link> more_env: [] words: [ {<func_mode_link>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] spids: [60079 60104] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <func_mode_uninstall> name: func_mode_uninstall body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$debug_cmd'> more_env: [] words: [{($ Id.VSub_DollarName debug_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'RM='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RM='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RM='> name:RM) op: assign_op.Equal rhs: {($ Id.VSub_DollarName nonopt)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rmforce='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rmforce='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rmforce='> name:rmforce) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exit_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_status='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_status='> name:exit_status) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libtool_install_magic='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libtool_install_magic='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'libtool_install_magic='> name: libtool_install_magic ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName magic)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [arg] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName arg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-f> pattern: (pat.Words words:[{<-f>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<RM>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'rmforce='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rmforce='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'rmforce='> name: rmforce ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<RM>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [{<func_append>} {<files>} {(DQ <' '> ($ Id.VSub_DollarName arg))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName RM))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify an RM program'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'rmdirs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rmdirs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rmdirs='> name:rmdirs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName files)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_dirname> more_env: [] words: [{<func_dirname>} {(DQ ($ Id.VSub_DollarName file))} {(DQ )} {(DQ <.>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dir='> name:dir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_dirname_result)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<.>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName dir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'odir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'odir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'odir='> name:odir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName objdir)} ) ] redirects: [] ) ] spids: [60291 60304] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'odir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'odir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'odir='> name:odir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName objdir)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_basename> more_env: [] words: [{<func_basename>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'name='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_basename_result)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<uninstall>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'odir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'odir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'odir='> name:odir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName dir)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<clean>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {(DQ <' '> ($ Id.VSub_DollarName rmdirs) <' '>)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName odir) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmdirs>} {(DQ <' '> ($ Id.VSub_DollarName odir))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [60355 60368] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-L>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] 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>} ) ] right: <Id.Lit_RBrace '}'> ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-h>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] 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>} ) ] right: <Id.Lit_RBrace '}'> ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] spids: [60420 60475] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'exit_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exit_status='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'exit_status='> name: exit_status ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [60481 60492] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$rmforce'> more_env: [] words: [{($ Id.VSub_DollarName rmforce)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] spids: [60502 60507] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rmfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rmfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rmfiles='> name:rmfiles) op: assign_op.Equal rhs: {($ Id.VSub_DollarName file)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_lalib_p> more_env: [] words: [ {<func_lalib_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} {($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName name)} ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [n] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName library_names)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/'> ($ Id.VSub_DollarName n) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName old_library))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/'> ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName opt_mode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <clean> pattern: (pat.Words words:[{<clean>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName library_names) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName dlname) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/'> ($ Id.VSub_DollarName dlname) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/'> ($ Id.VSub_DollarName name) <' '> ($ Id.VSub_DollarName odir) <'/'> (${ Id.VSub_Name name) <i> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <uninstall> pattern: (pat.Words words:[{<uninstall>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName library_names ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} { (DQ ($ Id.VSub_DollarName postuninstall_cmds) ) } {(SQ <'$rmforce || exit_status=1'>)} ] redirects: [] do_fork: T ) ] spids: [60712 60723] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName old_library) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_execute_cmds> more_env: [] words: [ {<func_execute_cmds>} { (DQ ($ Id.VSub_DollarName old_postuninstall_cmds ) ) } {(SQ <'$rmforce || exit_status=1'>)} ] redirects: [] do_fork: T ) ] spids: [60745 60756] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [60538 60547] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.lo>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_lalib_p> more_env: [] words: [ {<func_lalib_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} {($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName name)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pic_object))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName pic_object) ) } ] redirects: [] do_fork: T ) ] spids: [60832 60856] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName non_pic_object) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<none>} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName non_pic_object) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName non_pic_object) ) } ] redirects: [] do_fork: T ) ] spids: [60879 60903] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [60803 60812] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<clean>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'noexename='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'noexename='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'noexename='> name: noexename ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName name)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName file)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.exe>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'file='> name: file ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_stripname> more_env: [] words: [ {<func_stripname>} {(SQ )} {(SQ <.exe>)} {(DQ ($ Id.VSub_DollarName name))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'noexename='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'noexename='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'noexename='> name: noexename ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName func_stripname_result)} ) ] redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} {(DQ <' '> ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_ltwrapper_p> more_env: [] words: [ {<func_ltwrapper_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <func_ltwrapper_executable_p> more_env: [] words: [ {<func_ltwrapper_executable_p>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_ltwrapper_scriptname> more_env: [] words: [ {<func_ltwrapper_scriptname>} {(DQ ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} { ($ Id.VSub_DollarName func_ltwrapper_scriptname_result ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName func_ltwrapper_scriptname_result ) ) } ] redirects: [] do_fork: T ) ] spids: [61040 61049] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'relink_command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relink_command='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'relink_command='> name: relink_command ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <func_source> more_env: [] words: [ {<func_source>} {($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName noexename) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/'> ($ Id.VSub_DollarName name) <' '> ($ Id.VSub_DollarName odir) <'/'> (${ Id.VSub_Name name) <S.> ($ Id.VSub_DollarName objext) ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<yes>} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName fast_install ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ ($ Id.VSub_DollarName relink_command ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/lt-'> ($ Id.VSub_DollarName name) ) } ] redirects: [] do_fork: T ) ] spids: [61122 61145] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <X> ($ Id.VSub_DollarName noexename) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName name))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<rmfiles>} { (DQ <' '> ($ Id.VSub_DollarName odir) <'/lt-'> ($ Id.VSub_DollarName noexename) <.c> ) } ] redirects: [] do_fork: T ) ] spids: [61163 61181] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [61028 61037] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [60932 60945] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName rmfiles))} {(SQ <'exit_status=1'>)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [dir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName rmdirs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName dir))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_show_eval> more_env: [] words: [ {<func_show_eval>} {(DQ <'rmdir '> ($ Id.VSub_DollarName dir) <' >/dev/null 2>&1'>)} ] redirects: [] do_fork: T ) ] spids: [61245 61256] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName exit_status)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<uninstall>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<clean>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName opt_mode))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <func_mode_uninstall> more_env: [] words: [ {<func_mode_uninstall>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] spids: [61282 61307] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName opt_mode))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'help='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'help='> name:help) op: assign_op.Equal rhs: {($ Id.VSub_DollarName generic_help)} ) ] redirects: [] ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [{<func_fatal_help>} {(DQ <'you must specify a MODE'>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName exec_cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} {(DQ <'invalid operation mode \''> ($ Id.VSub_DollarName opt_mode) <'\''>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName exec_cmd))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {<exec>} {(DQ ($ Id.VSub_DollarName exec_cmd))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_FAILURE)} ) ] spids: [61370 61381] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName exit_status)} ) (command.ShAssignment left: <Id.Lit_VarLike 'build_libtool_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_libtool_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'build_libtool_libs='> name:build_libtool_libs) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'build_old_libs='> name:build_old_libs) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'build_old_libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'build_old_libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'build_old_libs='> name:build_old_libs) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName build_libtool_libs)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <yes> pattern: (pat.Words words:[{<yes>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<no>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<yes>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] )