(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: {<2.2.7a>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TIMESTAMP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TIMESTAMP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TIMESTAMP='> name:TIMESTAMP) op: assign_op.Equal rhs: {(DQ <' 1.3134 2009-11-29'>)} ) ] 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: {<1.3134>} ) ] 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 (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: <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: [248 277] ) ] 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.CommandList children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'BIN_SH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BIN_SH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BIN_SH='> name:BIN_SH) op: assign_op.Equal rhs: {<xpg4>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<BIN_SH>}] redirects: [] do_fork: T ) ] ) (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.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.ShAssignment left: <Id.Lit_VarLike 'lt_user_locale='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_user_locale='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lt_user_locale='> name:lt_user_locale) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'lt_safe_locale='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_safe_locale='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lt_safe_locale='> name:lt_safe_locale) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] 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: '$' ) <'{'> ($ Id.VSub_DollarName lt_var) <'+set}'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' = set; then\n'> <' save_'> ($ Id.VSub_DollarName lt_var) <'='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName lt_var) <'\n'> <' '> ($ Id.VSub_DollarName lt_var) <'=C\n'> <'\t export '> ($ Id.VSub_DollarName lt_var) <'\n'> <'\t lt_user_locale='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName lt_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:'$') <'lt_var; '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <lt_user_locale> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'\n'> <'\t lt_safe_locale='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName lt_var) <'=C; '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <lt_safe_locale> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\n'> <'\tfi'> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$lt_unset'> more_env: [] words: [{($ Id.VSub_DollarName lt_unset)} {<CDPATH>}] redirects: [] do_fork: T ) (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: {(DQ ($ Id.VSub_Number 0))} ) ] redirects: [] ) (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: {($ Id.VSub_DollarName as_echo)} ) 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 <'/bin/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 <'/bin/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 GREP> var_name: GREP suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{(DQ <'/bin/grep'>)}) 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 SED> var_name: SED suffix_op: (suffix_op.Unary op: <Id.VTest_Equals _> arg_word: {(DQ <'/mount/endor/wildenhu/local-x86_64/bin/sed'>)} ) 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.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name Xsed> var_name: Xsed suffix_op: (suffix_op.Unary op: <Id.VTest_Equals _> arg_word: {(DQ ($ Id.VSub_DollarName SED) <' -e 1s/^X//'>)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (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 '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 'lt_nl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_nl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lt_nl='> name:lt_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 <' \t'> ($ Id.VSub_DollarName lt_nl))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dirname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dirname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dirname='> name:dirname) op: assign_op.Equal rhs: {(DQ <'s,/[^/]*'> <Id.Lit_Dollar '$'> <',,'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'basename='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'basename='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'basename='> name:basename) op: assign_op.Equal rhs: {(DQ <'s,^.*/,,'>)} ) ] redirects: [] ) (command.ShFunction name_tok: <func_dirname_and_basename> name: func_dirname_and_basename body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_dirname_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_dirname_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_dirname_result='> name: func_dirname_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>} {(DQ ($ Id.VSub_DollarName dirname))} ] 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>} {(DQ <X> ($ Id.VSub_DollarName func_dirname_result))} {<Id.Lit_Equals '='>} {(DQ <X> (${ 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_dirname_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_dirname_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_dirname_result='> name: func_dirname_result ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Number 3))} ) ] redirects: [] ) ] spids: [779 798] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_dirname_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_dirname_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_dirname_result='> name: func_dirname_result ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName func_dirname_result) (${ Id.VSub_Number 2))} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_basename_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_basename_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_basename_result='> name: func_basename_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>} {(DQ ($ Id.VSub_DollarName basename))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'pathcar='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pathcar='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pathcar='> name:pathcar) op: assign_op.Equal rhs: {(SQ <'s,^/\\([^/]*\\).*$,\\1,'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pathcdr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pathcdr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pathcdr='> name:pathcdr) op: assign_op.Equal rhs: {(SQ <'s,^/[^/]*,,'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'removedotparts='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'removedotparts='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'removedotparts='> name: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 'collapseslashes='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'collapseslashes='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'collapseslashes='> name:collapseslashes) op: assign_op.Equal rhs: {(SQ <'s@/\\{1,\\}@/@g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'finalslash='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalslash='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'finalslash='> name:finalslash) op: assign_op.Equal rhs: {(SQ <'s,/*$,/,'>)} ) ] redirects: [] ) (command.ShFunction name_tok: <func_normal_abspath> name: func_normal_abspath body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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 removedotparts))} {<-e>} {(DQ ($ Id.VSub_DollarName collapseslashes))} {<-e>} {(DQ ($ Id.VSub_DollarName 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>} {(DQ ($ Id.VSub_DollarName func_normal_abspath_tpath))} {<Id.Lit_Equals '='>} {<'/'>} ] 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: [1135 1147] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [1114 1128] ) ] 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 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 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.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_result) <'/'> ($ Id.VSub_DollarName func_normal_abspath_tcomponent) } ) ] redirects: [] ) ] 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_relative_path> name: func_relative_path body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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: [1412 1423] ) ] 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_Name 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>} { (DQ <x> ($ Id.VSub_DollarName func_relative_path_tlibdir) ) } {<Id.Lit_Equals '='>} {<x>} ] 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: [1454 1469] ) ] 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>} {(DQ <x> ($ Id.VSub_DollarName func_stripname_result))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<x>} ] 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_Name func_relative_path_result) <'/'> (${ Id.VSub_Name func_stripname_result) } ) ] redirects: [] ) ] spids: [1543 1559] ) ] 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>} {<Id.KW_Bang '!'>} {<-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.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: [1588 1601] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <func_dirname_and_basename> more_env: [] words: [{<func_dirname_and_basename>} {(DQ ($ Id.VSub_DollarName progpath))}] redirects: [] do_fork: T ) (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: {($ Id.VSub_DollarName func_basename_result)} ) ] 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: {($ Id.VSub_DollarName func_dirname_result)} ) ] 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: {(DQ ($ 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 '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: {(DQ ($ 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: [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: {(DQ ($ Id.VSub_DollarName save_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: {(DQ ($ Id.VSub_DollarName save_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: {(DQ ($ 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 'Xsed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'Xsed='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'Xsed='> name:Xsed) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name SED)) (SQ <' -e 1s/^X//'>)} ) ] 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 'double_quote_subst='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'double_quote_subst='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'double_quote_subst='> name:double_quote_subst) op: assign_op.Equal rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'bs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bs='> name:bs) op: assign_op.Equal rhs: {(SQ <'\\\\'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'bs2='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bs2='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bs2='> name:bs2) op: assign_op.Equal rhs: {(SQ <'\\\\\\\\'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'bs4='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bs4='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bs4='> name:bs4) op: assign_op.Equal rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dollar='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dollar='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dollar='> name: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 bs4) <'/&'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'\n'> <'/g\n'> <' s/^'> ($ Id.VSub_DollarName bs2) ($ Id.VSub_DollarName dollar) <'/'> ($ Id.VSub_DollarName bs) <'&/\n'> <' s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'([^'> ($ Id.VSub_DollarName bs) <']'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <')'> ($ Id.VSub_DollarName bs2) ($ Id.VSub_DollarName dollar) <'/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <1> ($ Id.VSub_DollarName bs2) ($ Id.VSub_DollarName bs) ($ Id.VSub_DollarName dollar) <'/g\n'> <' s/'> <Id.Lit_BadBackslash '\\'> <'n//g'> ) } ) ] 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_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 '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: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShFunction name_tok: <func_echo> name: func_echo 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_DollarName progname) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name mode> var_name: mode suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<': '>}) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_DollarName mode) <': '> ($ Id.VSub_Star '*') ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_verbose> name: func_verbose body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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>} { (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.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_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_error> name: func_error 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_DollarName progname) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name mode> var_name: mode suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<': '>}) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_DollarName mode) <': '> ) (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: [(Redir op:<Id.Redir_GreatAnd '1>&'> 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.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_warning'> more_env: [] words: [{($ Id.VSub_DollarName opt_warning)}] redirects: [] do_fork: T ) (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 mode> var_name: mode suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<': '>}) right: <Id.Right_DollarBrace '}'> ) ($ Id.VSub_DollarName mode) <': warning: '> ) (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: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] 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_fatal_error> name: func_fatal_error body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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_fatal_help> name: func_fatal_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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.Simple blame_tok: <func_fatal_error> more_env: [] words: [{<func_fatal_error>} {(DQ ($ Id.VSub_DollarName help))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName progname) <' --help\' for more information.'> ) } ) ] redirects: [] ) (command.ShFunction name_tok: <func_grep> name: func_grep body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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.ShFunction name_tok: <func_mkdir_p> name: func_mkdir_p body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_directory_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_directory_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_directory_path='> name: my_directory_path ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_dir_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_dir_list='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_dir_list='> name:my_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 my_directory_path))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName opt_dry_run))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <':'>)} ] 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 my_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 'my_directory_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_directory_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_directory_path='> name: my_directory_path ) op: assign_op.Equal rhs: {(DQ <'./'> ($ Id.VSub_DollarName my_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 my_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 'my_dir_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_dir_list='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_dir_list='> name: my_dir_list ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName my_directory_path) <':'> ($ Id.VSub_DollarName my_dir_list) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName my_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 'my_directory_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_directory_path='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_directory_path='> name: my_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 my_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 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 'my_dir_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_dir_list='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_dir_list='> name: my_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 my_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 'save_mkdir_p_IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_mkdir_p_IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_mkdir_p_IFS='> name: save_mkdir_p_IFS ) op: assign_op.Equal rhs: {(DQ ($ 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: [my_dir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName my_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: {(DQ ($ Id.VSub_DollarName save_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 my_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: {(DQ ($ Id.VSub_DollarName save_mkdir_p_IFS))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {(DQ ($ Id.VSub_DollarName my_directory_path))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'Failed to create '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_Number 1) <'\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [2252 2278] ) ] 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.ShAssignment left: <Id.Lit_VarLike 'my_template='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_template='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_template='> name:my_template) op: assign_op.Equal rhs: { (DQ (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>} {(DQ ($ Id.VSub_DollarName opt_dry_run))} {<Id.Lit_Equals '='>} {(DQ <':'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_tmpdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_tmpdir='> name:my_tmpdir) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name my_template) <-> ($ Id.VSub_Dollar '$'))} ) ] redirects: [] ) ] spids: [2561 2576] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_tmpdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_tmpdir='> name:my_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_Name my_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 my_tmpdir))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_tmpdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'my_tmpdir='> name: my_tmpdir ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name my_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 'save_mktempdir_umask='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_mktempdir_umask='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_mktempdir_umask='> name: save_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 my_tmpdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <umask> more_env: [] words: [{<umask>} {($ Id.VSub_DollarName save_mktempdir_umask)}] redirects: [] do_fork: T ) ] spids: [2622 2635] ) ] 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 my_tmpdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot create temporary directory '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName my_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 my_tmpdir))}] 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.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 '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: { (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_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 '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: {(DQ ($ 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 func_quote_for_eval_unquoted_result)}) 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 '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: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName func_quote_for_eval_unquoted_result) (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 '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: {(DQ ($ Id.VSub_DollarName func_quote_for_eval_unquoted_result))} ) ] redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> 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.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 'my_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_arg='> name:my_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 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 'my_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_arg='> name:my_arg) op: assign_op.Equal rhs: {(DQ ($ 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 my_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 'my_arg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_arg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_arg='> name:my_arg) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName my_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: {(DQ ($ Id.VSub_DollarName my_arg))} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_show_eval> name: func_show_eval body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'my_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_cmd='> name:my_cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_fail_exp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_fail_exp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_fail_exp='> name:my_fail_exp) op: assign_op.Equal rhs: { (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: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name opt_silent> var_name: opt_silent 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_quote_for_expand> more_env: [] words: [{<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName my_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.If 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.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name opt_dry_run> var_name: opt_dry_run suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<false>} ) right: <Id.Right_DollarBrace '}'> ) } ] 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: [3126 3135] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName my_cmd))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'my_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_status='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_status='> name:my_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>} {(DQ ($ Id.VSub_DollarName my_status))} {<-eq>} {<0>}] 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: [3154 3167] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'(exit '> ($ Id.VSub_DollarName my_status) <'); '> ($ Id.VSub_DollarName my_fail_exp) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] 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.ShAssignment left: <Id.Lit_VarLike 'my_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_cmd='> name:my_cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_fail_exp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_fail_exp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_fail_exp='> name:my_fail_exp) op: assign_op.Equal rhs: { (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: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name opt_silent> var_name: opt_silent 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_quote_for_expand> more_env: [] words: [{<func_quote_for_expand>} {(DQ ($ Id.VSub_DollarName my_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.If 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.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name opt_dry_run> var_name: opt_dry_run suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<false>} ) right: <Id.Right_DollarBrace '}'> ) } ] 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: [3261 3270] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName lt_user_locale) <'\n'> <'\t '> ($ Id.VSub_DollarName my_cmd) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'my_status='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_status='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_status='> name:my_status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName lt_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>} {(DQ ($ Id.VSub_DollarName my_status))} {<-eq>} {<0>}] 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: [3299 3312] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'(exit '> ($ Id.VSub_DollarName my_status) <'); '> ($ Id.VSub_DollarName my_fail_exp) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] 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 '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-n>} { (SQ <'/(C)/!b go\n'> <'\t:more\n'> <'\t/\\./!{\n'> <'\t N\n'> <'\t s/\\n# //\n'> <'\t b more\n'> <'\t}\n'> <'\t:go\n'> <'\t/^# '> ) ($ Id.VSub_DollarName PROGRAM) (SQ <' (GNU /,/# warranty; / {\n'> <' s/^# //\n'> <'\ts/^# *$//\n'> <' s/\\((C)\\)[ 0-9,-]*\\( [1-9][0-9]*\\)/\\1\\2/\n'> <' p\n'> <' }'> ) } ] 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.ShFunction name_tok: <func_usage> name: func_usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-n>} { (SQ <'/^# Usage:/,/^# *-h/ {\n'> <' s/^# //\n'> <'\ts/^# *$//\n'> <'\ts/\\$progname/'> ) ($ Id.VSub_DollarName progname) (SQ <'/\n'> <'\tp\n'> <' }'>) } ] 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: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ <'run '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName progname) <' --help | more\' for full usage'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] 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 '$SED'> more_env: [] words: [ {($ Id.VSub_DollarName SED)} {<-n>} { (SQ <'/^# Usage:/,/# Report bugs to/ {\n'> <' s/^# //\n'> <'\ts/^# *$//\n'> <'\ts*\\$progname*'> ) ($ Id.VSub_DollarName progname) (SQ <'*\n'> <'\ts*\\$host*'>) (DQ ($ Id.VSub_DollarName host)) (SQ <'*\n'> <'\ts*\\$SHELL*'>) (DQ ($ Id.VSub_DollarName SHELL)) (SQ <'*\n'> <'\ts*\\$LTCC*'>) (DQ ($ Id.VSub_DollarName LTCC)) (SQ <'*\n'> <'\ts*\\$LTCFLAGS*'>) (DQ ($ Id.VSub_DollarName LTCFLAGS)) (SQ <'*\n'> <'\ts*\\$LD*'>) (DQ ($ Id.VSub_DollarName LD)) (SQ <'*\n'> <'\ts/\\$with_gnu_ld/'>) (DQ ($ Id.VSub_DollarName with_gnu_ld)) (SQ <'/\n'> <'\ts/\\$automake_version/'>) (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <automake> more_env: [] words: [{<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 '`'> ) ) (SQ <'/\n'> <'\ts/\\$autoconf_version/'>) (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <autoconf> more_env: [] words: [{<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 '`'> ) ) (SQ <'/\n'> <'\tp\n'> <' }'>) } ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName progpath))} ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ret='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ret='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ret='> name:ret) 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>} {<-z>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName ret)} ) ] spids: [3586 3597] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] 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: <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.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 '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: {(DQ <'%%%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: {(DQ <'%%%MAGIC EXE variable%%%'>)} ) ] 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 'execute_dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'execute_dlfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'execute_dlfiles='> name:execute_dlfiles) 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.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: { (DQ <'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <.lo> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'/.'> (${ Id.VSub_Name 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: { (DQ <'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <.> (${ Id.VSub_Name objext) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'/.lo/'> ) } ) ] 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 '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_finish='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_finish='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_finish='> name:opt_finish) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_duplicate_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_duplicate_deps='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_duplicate_deps='> name:opt_duplicate_deps) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_silent='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_silent='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_silent='> name:opt_silent) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_debug='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_debug='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt_debug='> name:opt_debug) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] 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_fatal_configuration> name: func_fatal_configuration body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'See the '> ($ Id.VSub_DollarName PACKAGE) <' documentation for more information.'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [{<func_fatal_error>} {(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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [3904 3917] ) ] 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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [3940 3953] ) ] 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: {(DQ ($ 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: { (DQ <'/'> ($ Id.VSub_DollarName re_begincf) <'/,/'> ($ 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: [4104 4123] ) ] 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 '}'> ) ) (BraceGroup left: <Id.Lit_LBrace '{'> 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: <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.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 'opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt) op: assign_op.Equal rhs: {(DQ ($ 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 opt)}) arms_start: <Id.KW_In in> arms: [ (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: <--debug> pattern: (pat.Words words:[{<--debug>}]) middle: <Id.Right_CasePat _> action: [ (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: { (DQ ($ Id.VSub_DollarName preserve_args) <' '> ($ Id.VSub_DollarName opt) ) } ) ] redirects: [] ) (command.Simple blame_tok: <func_echo> more_env: [] words: [{<func_echo>} {(DQ <'enabling shell trace mode'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_debug='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_debug='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_debug='> name: opt_debug ) op: assign_op.Equal rhs: {(SQ <'set -x'>)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-dlopen> pattern: (pat.Words words:[{<-dlopen>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_Pound '#'))} {<-eq>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_missing_arg> more_env: [] words: [{<func_missing_arg>} {(DQ ($ Id.VSub_DollarName 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 'execute_dlfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'execute_dlfiles='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'execute_dlfiles='> name: execute_dlfiles ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName execute_dlfiles) <' '> ($ Id.VSub_Number 1)) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--dry-run> pattern: (pat.Words words:[{<--dry-run>} {<-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: <--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.ShAssignment left: <Id.Lit_VarLike 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {(DQ <finish>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--no-finish> pattern: (pat.Words words:[{<--no-finish>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt_finish='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_finish='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_finish='> name: opt_finish ) op: assign_op.Equal rhs: {<false>} ) ] 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>} {(DQ ($ Id.VSub_Pound '#'))} {<-eq>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_missing_arg> more_env: [] words: [{<func_missing_arg>} {(DQ ($ Id.VSub_DollarName 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:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <clean> pattern: (pat.Words words:[{<clean>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <compile> pattern: (pat.Words words:[{<compile>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <execute> pattern: (pat.Words words:[{<execute>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <finish> pattern: (pat.Words words:[{<finish>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <install> pattern: (pat.Words words:[{<install>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <link> pattern: (pat.Words words:[{<link>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <relink> pattern: (pat.Words words:[{<relink>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <uninstall> pattern: (pat.Words words:[{<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 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.ShAssignment left: <Id.Lit_VarLike 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {(DQ ($ 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_duplicate_deps='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_duplicate_deps='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_duplicate_deps='> name: opt_duplicate_deps ) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--quiet> pattern: (pat.Words words:[{<--quiet>} {<--silent>}]) middle: <Id.Right_CasePat _> action: [ (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: { (DQ ($ Id.VSub_DollarName preserve_args) <' '> ($ Id.VSub_DollarName opt) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_silent='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_silent='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_silent='> name: opt_silent ) 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: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--no-quiet> pattern: (pat.Words words:[{<--no-quiet>} {<--no-silent>}]) middle: <Id.Right_CasePat _> action: [ (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: { (DQ ($ Id.VSub_DollarName preserve_args) <' '> ($ Id.VSub_DollarName opt) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_silent='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_silent='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_silent='> name: opt_silent ) op: assign_op.Equal rhs: {<false>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--verbose> pattern: (pat.Words words:[{<--verbose>} {<-v>}]) middle: <Id.Right_CasePat _> action: [ (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: { (DQ ($ Id.VSub_DollarName preserve_args) <' '> ($ Id.VSub_DollarName opt) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt_silent='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt_silent='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'opt_silent='> name: opt_silent ) 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: [] ) ] 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 '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: { (DQ ($ Id.VSub_DollarName preserve_args) <' '> ($ Id.VSub_DollarName opt) ) } ) ] 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: [] ) ] 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>} {(DQ ($ Id.VSub_Pound '#'))} {<-eq>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_missing_arg> more_env: [] words: [{<func_missing_arg>} {(DQ ($ Id.VSub_DollarName 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 '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: { (DQ ($ Id.VSub_DollarName preserve_args) <' '> ($ Id.VSub_DollarName opt) <' '> ($ Id.VSub_Number 1) ) } ) ] redirects: [] ) (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: <-dlopen> pattern: (pat.Words words: [ {<-dlopen> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<--mode> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<--tag> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_opt_split> more_env: [] words: [{<func_opt_split>} {(DQ ($ Id.VSub_DollarName opt))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<dummy>} {(DQ ($ Id.VSub_DollarName func_opt_split_opt))} {(DQ ($ Id.VSub_DollarName func_opt_split_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:'?')} {<-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.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: <--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:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'unrecognized option '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName 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.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: {(DQ ($ Id.VSub_DollarName opt))} ) ] 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.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 '*'>} ] ) 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_duplicate_deps)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (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 ) ] 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: [5222 5233] ) ] 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: [5203 5219] ) ] 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: [5184 5200] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] 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.Simple blame_tok: <func_check_version_match> more_env: [] words: [{<func_check_version_match>}] 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] 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_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'not configured to build any kind of library'>)} ] redirects: [] do_fork: T ) ] spids: [5376 5403] ) ] 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 mode))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [{<func_fatal_error>} {(DQ <'error: you must specify a MODE.'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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 execute_dlfiles))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<execute>} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: [5456 5480] ) ] 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName progname) <' --help --mode='> ($ Id.VSub_DollarName mode) <'\' for more information.'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (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: <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 ) ] 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:{(DQ ($ 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: [5633 5666] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_DollarName lalib_p))} {<Id.Lit_Equals '='>} {<yes>}] 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.Simple blame_tok: <func_lalib_p> more_env: [] words: [{<func_lalib_p>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] 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.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: {(DQ )} ) ] 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_executable_p> more_env: [] words: [{<func_ltwrapper_executable_p>} {(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_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: { (DQ ($ Id.VSub_DollarName func_dirname_result) <'/'> ($ Id.VSub_DollarName objdir) <'/'> (${ Id.VSub_Name func_stripname_result) <_ltshwrapper> ) } ) ] redirects: [] ) ] spids: [5875 5884] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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 save_ifs)} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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.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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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_infer_tag> name: func_infer_tag body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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_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 '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: { (DQ ($ Id.VSub_DollarName CC_quoted) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] redirects: [] ) ] 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.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name 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_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 '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: { (DQ ($ Id.VSub_DollarName CC_quoted) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] redirects: [] ) ] 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: [6346 6367] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'--tag\''> ) } ] redirects: [] do_fork: T ) ] spids: [6586 6597] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [6159 6180] ) ] 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [6661 6674] ) ] 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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [6696 6709] ) ] 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 TIMESTAMP) <') '> ($ 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_Name 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_mode_compile> name: func_mode_compile body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ ($ 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: {(DQ ($ 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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.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: { (DQ ($ Id.VSub_DollarName pie_flag) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) (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.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: { (DQ ($ Id.VSub_DollarName later) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) (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: {(DQ ($ 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: [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: {(DQ ($ 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 arg))} ] 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: { (DQ ($ Id.VSub_DollarName lastarg) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result ) ) } ) ] 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: {(DQ ($ 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.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 base_compile) <' '> ($ Id.VSub_DollarName lastarg) ) } ) ] 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.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: {(DQ ($ 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: {(DQ ($ 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_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName lastarg))}] 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: { (DQ ($ Id.VSub_DollarName base_compile) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] redirects: [] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: {(DQ ($ 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 '*'> <.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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'can not 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_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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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: {(DQ ($ 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_Name 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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [7755 7768] ) ] 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>} {(DQ ($ Id.VSub_DollarName pic_mode))} {<Id.Lit_Equals '='>} {<no>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName deplibs_check_method))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<pass_all>} ] 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: [7852 7878] ) ] 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_DollarName compiler_c_o))} {<Id.Lit_Equals '='>} {<no>} ] 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_Name 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: {(DQ ($ Id.VSub_DollarName output_obj) <.lock>)} ) ] redirects: [] ) ] spids: [7901 7914] ) ] 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>} {(DQ ($ Id.VSub_DollarName need_locks))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [7975 7988] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName need_locks))} {<Id.Lit_Equals '='>} {<warn>} ] 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-c\' and '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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: [8047 8058] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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 removelist) <' '> ($ Id.VSub_DollarName output_obj) ) } ) ] redirects: [] ) (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: [8031 8044] ) ] 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.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 removelist) <' '> ($ Id.VSub_DollarName lockfile))} ) ] redirects: [] ) (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.If if_kw: <Id.KW_If 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 fix_srcfile_path))}] 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 <'srcfile='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName fix_srcfile_path) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] spids: [8167 8178] ) ] else_action: [] 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 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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>} {(DQ ($ Id.VSub_DollarName pic_mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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: [8235 8249] ) ] 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.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 command) <' -o '> ($ Id.VSub_DollarName lobj) ) } ) ] redirects: [] ) ] spids: [8290 8301] ) ] 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>} {(DQ ($ Id.VSub_DollarName need_locks))} {<Id.Lit_Equals '='>} {<warn>} ] 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-c\' and '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: [8334 8374] ) ] 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: [8436 8464] ) ] 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_DollarName suppress_opt))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [8488 8501] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [8210 8223] ) ] 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_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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 pic_mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] 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: [8537 8551] ) ] 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>} {(DQ ($ Id.VSub_DollarName compiler_c_o))} {<Id.Lit_Equals '='>} {<yes>} ] 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 command) <' -o '> ($ Id.VSub_DollarName obj) ) } ) ] redirects: [] ) ] spids: [8583 8596] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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 command) ($ Id.VSub_DollarName suppress_output) ) } ) ] redirects: [] ) (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>} {(DQ ($ Id.VSub_DollarName need_locks))} {<Id.Lit_Equals '='>} {<warn>} ] 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-c\' and '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: [8636 8676] ) ] 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: [8738 8766] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [8521 8534] ) ] 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>} {(DQ ($ Id.VSub_DollarName need_locks))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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: [8818 8832] ) ] 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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<compile>}] 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 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'/bin/rm\'). RM-OPTIONS are options (such as '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 building PIC objects only\n'> <' -prefer-non-pic try to building non-PIC objects only\n'> <' -shared do not build a '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.o\' file suitable for static linking\n'> <' -static only build a '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.c\' with the\n'> <'library object suffix, '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'--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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'install\' or '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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' > <' -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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-\') are ignored.\n'> <'\n'> <'Every other argument is treated as a filename. Files ending in '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.la\', then a libtool library is created,\n'> <'only library objects ('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.lo\' files) may be specified, and '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-rpath\' is\n'> <'required, except when creating a convenience library.\n'> <'\n'> <'If OUTPUT-FILE ends in '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'.a\' or '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'.lib\', then a standard library is created\n'> <'using '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'ar\' and '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'ranlib\', or on Windows using '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'lib\'.\n'> <'\n'> <'If OUTPUT-FILE ends in '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'.lo\' or '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <.> (${ Id.VSub_Name 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'/bin/rm\'). RM-OPTIONS are options (such as '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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>} {(DQ ($ Id.VSub_DollarName opt_help))} {<Id.Lit_Equals '='>} {<Id.Lit_Colon ':'>} ] 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: [9293 9306] ) ] 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: [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: <sed> more_env: [] words: [{<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: [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: <sed> more_env: [] words: [ {<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: [9285 9290] ) ] 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ ($ 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 execute_dlfiles)}]) 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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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.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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName file) <'\' was not linked with '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-export-dynamic\''> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [9581 9592] ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName objdir) ) } ) ] redirects: [] ) ] spids: [9650 9665] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName dlname) <'\' in '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName dir) <'\' or '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName objdir) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [9679 9694] ) ] 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: {(DQ ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: {(DQ ($ 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>} {<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>} {($ Id.VSub_DollarName shlibpath_var) <Id.Lit_Equals '='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <dir> } ] redirects: [] do_fork: T ) ] spids: [9821 9835] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {($ Id.VSub_DollarName shlibpath_var) <Id.Lit_Equals '='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <dir> <Id.Lit_Colon ':'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) } ] 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: {(DQ ($ 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: { (DQ ($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName program) ) } ) ] redirects: [] ) ] spids: [9930 9939] ) (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: { (DQ ($ Id.VSub_DollarName progdir) <'/'> ($ Id.VSub_DollarName program) ) } ) ] redirects: [] ) ] spids: [9961 9970] ) ] 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_quote_for_eval> more_env: [] words: [{<func_quote_for_eval>} {(DQ ($ Id.VSub_DollarName file))}] 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: { (DQ ($ Id.VSub_DollarName args) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] 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 opt_dry_run))} {<Id.Lit_Equals '='>} {<Xfalse>} ] 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 <'export '> ($ Id.VSub_DollarName shlibpath_var))}] redirects: [] do_fork: T ) ] spids: [10048 10059] ) ] 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: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <cmd> ($ Id.VSub_DollarName args) ) } ) ] redirects: [] ) ] spids: [10031 10045] ) ] 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 (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: [10157 10168] ) ] 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)} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<execute>}] 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] redirects: [] do_fork: T ) (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: {(DQ ($ Id.VSub_DollarName nonopt))} ) ] 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.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: [dir] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (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: { (DQ ($ Id.VSub_DollarName libdirs) <' '> ($ Id.VSub_DollarName dir) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (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: [10319 10330] ) ] 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.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: { (DQ ($ Id.VSub_DollarName admincmds) <'\n'> <' '> ($ Id.VSub_DollarName cmds) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] spids: [10357 10368] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [10262 10284] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_silent'> more_env: [] words: [{($ Id.VSub_DollarName opt_silent)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] ops: [<Id.Op_DAmp _>] ) (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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [10498 10509] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [10532 10543] ) ] 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>} { (DQ <'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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName flag) <'\' linker flag'> ) } ] redirects: [] do_fork: T ) ] spids: [10566 10577] ) ] 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: [10608 10619] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'/etc/ld.so.conf\''> ) } ] redirects: [] do_fork: T ) ] spids: [10633 10642] ) ] 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 ) (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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<finish>}] 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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>} {(DQ ($ Id.VSub_DollarName nonopt))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName SHELL))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName nonopt))} {<Id.Lit_Equals '='>} {<'/bin/sh'>} ] 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 _>] ) 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 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: [10781 10837] ) ] 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.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 install_prog) ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] redirects: [] ) (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: {<no>} ) ] 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.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: { (DQ ($ Id.VSub_DollarName files) <' '> ($ Id.VSub_DollarName dest) ) } ) ] 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: {($ Id.VSub_DollarName arg)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [10987 10998] ) ] 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: {<yes>} ) ] 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: [11040 11045] ) ] 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>} {(DQ <x> ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<x-m>} ] 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: [11128 11152] ) ] 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: [11114 11125] ) ] 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.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 install_prog) <' '> ($ 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>} {<-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: [11208 11219] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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: { (DQ ($ Id.VSub_DollarName install_shared_prog) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] redirects: [] ) ] 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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: [11305 11310] ) ] 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.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: { (DQ ($ Id.VSub_DollarName install_shared_prog) <' -m '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [11287 11302] ) ] 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: [11354 11365] ) ] 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: [11340 11351] ) ] 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: {<yes>} ) ] 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>} {(DQ ($ Id.VSub_DollarName isdir))} {<Id.Lit_Equals '='>} {<yes>} ] 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: {(DQ ($ 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: [11433 11446] ) ] 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: {(DQ ($ 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: {(DQ ($ 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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName staticlibs) <' '> ($ Id.VSub_DollarName file) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.la>}]) middle: <Id.Right_CasePat _> action: [ (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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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.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 ($ Id.VSub_DollarName current_libdirs) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [11736 11753] ) ] 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.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: { (DQ ($ Id.VSub_DollarName future_libdirs) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] 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: {(DQ ($ Id.VSub_DollarName func_dirname_result))} ) ] 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: {(DQ ($ Id.VSub_DollarName dir) ($ Id.VSub_DollarName objdir))} ) ] 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 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [11969 11980] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 \\`$file'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\''> ch: '\'' ) (SQ <' with the above command before installing it"'>) } ] redirects: [] do_fork: T ) ] spids: [11871 11882] ) ] 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: {(DQ ($ 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName 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: {(DQ ($ 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: {(DQ )} ) ] 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: [12216 12237] ) ] 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: [12259 12272] ) ] 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: { (DQ ($ 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: [12081 12092] ) ] 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: {(DQ ($ 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: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName 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.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: { (DQ ($ Id.VSub_DollarName staticlibs) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) ] 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: { (DQ ($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName destname) ) } ) ] redirects: [] ) ] spids: [12461 12472] ) ] 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: {(DQ ($ 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: { (DQ ($ 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [12616 12629] ) ] 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: { (DQ ($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName destname) ) } ) ] redirects: [] ) ] spids: [12683 12694] ) ] 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: {(DQ ($ 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: { (DQ ($ 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: {(DQ )} ) ] 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: {(DQ <.exe>)} ) ] redirects: [] ) ] spids: [12762 12775] ) ] 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: [12835 12844] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {<yes>} ) ] 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: [12976 12987] ) ] 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: {(DQ ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName lib) <'\' has not been installed in '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {<no>} ) ] redirects: [] ) ] spids: [13027 13050] ) ] 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>} {(DQ ($ Id.VSub_DollarName fast_install))} {<Id.Lit_Equals '='>} {<no>} ] 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: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName finalize ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: { (DQ ($ 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: { (DQ ($ 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_silent' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_silent ) } ] 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: [13225 13234] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <'error: relink '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`' > ch: '`' ) ($ 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: { (DQ ($ Id.VSub_DollarName outputname ) ) } ) ] redirects: [] ) ] spids: [13123 13136] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'cannot relink '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [13090 13113] ) ] 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: [12899 12908] ) ] 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: [13472 13483] ) ] 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName destdir) <'/'> ($ Id.VSub_DollarName name))} ) ] 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 oldlib) ) } {(SQ <'exit $?'>)} ] redirects: [] do_fork: T ) ] spids: [13565 13586] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName current_libdirs))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$opt_finish'> more_env: [] words: [{($ Id.VSub_DollarName opt_finish)}] 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.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: [13650 13665] ) ] 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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<install>}] 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ ($ 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: {(DQ ($ 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: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<no>}) 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: <sed> more_env: [] words: [{<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>} {(DQ ($ Id.VSub_DollarName dlself))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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: {(DQ (${ Id.VSub_Name my_outputname) <S.c>)} ) ] redirects: [] ) ] spids: [13820 13841] ) ] 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: [13792 13817] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName my_outputname) <'\' dlsym emulation. */\n'> <'/* Generated by '> ($ Id.VSub_DollarName PROGRAM) <' (GNU '> ($ Id.VSub_DollarName PACKAGE) ($ Id.VSub_DollarName TIMESTAMP) <') '> ($ 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'> <'/* 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>} {(DQ ($ Id.VSub_DollarName dlself))} {<Id.Lit_Equals '='>} {<yes>} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'extracting global C symbols from '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName progfile) <'\''> ) } ] 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 progfile) <' | '> ($ 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: <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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [14128 14139] ) ] 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: <Id.VSub_DollarName '$EGREP'> more_env: [] words: [ {($ Id.VSub_DollarName EGREP)} {<-e>} { (DQ ($ Id.VSub_DollarName export_symbols_regex ) ) } {(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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [14191 14202] ) ] 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: { (DQ ($ 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: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name SED)} {<-n>} {<-e>} {(SQ <'/^: @PROGRAM@ $/d'>)} {<-e>} {(SQ <'s/^.* \\(.*\\)$/\\1/p'>)} ] 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 export_symbols) ) } ) ] 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: <echo> more_env: [] words: [{<echo>} {<EXPORTS>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName outputname) <.def> ) } ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} { (DQ ($ Id.VSub_DollarName export_symbols ) ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName outputname) <.def> ) } ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [14255 14266] ) ] 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: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name SED)} {<-e>} {(SQ <'s/\\([].[*^$]\\)/\\\\\\1/g'>)} {<-e>} {(SQ <'s/^/ /'>)} {<-e>} {(SQ <'s/$/$/'>)} ] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName export_symbols))} ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) <.exp> ) } ) ] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$GREP'> more_env: [] words: [ {($ Id.VSub_DollarName GREP)} {<-f>} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName outputname) <.exp> ) } ] 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)) <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 ) (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: <echo> more_env: [] words: [{<echo>} {<EXPORTS>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName outputname) <.def> ) } ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} {(DQ ($ Id.VSub_DollarName nlist))} ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName output_objdir ) <'/'> ($ Id.VSub_DollarName outputname) <.def> ) } ) ] 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: [14006 14019] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ Id.VSub_DollarName func_basename_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 ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ <': '> ($ Id.VSub_DollarName name) <' '>)} ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName nlist))} ) ] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ ($ Id.VSub_DollarName NM) <' '> ($ Id.VSub_DollarName dlprefile) <' 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.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: [14652 14663] ) ] 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: [14728 14746] ) ] 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: [14709 14780] ) ] 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: [14815 14827] ) ] 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: <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'> ) } ] 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.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: <echo> more_env: [] words: [ {<echo>} { (DQ < '/* DATA imports from DLLs on WIN32 con\'t be const, because\n' > <' runtime relocations are performed -- see ld\'s documentation\n'> <' on pseudo-relocs. */'> ) } ] 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.ShAssignment left: <Id.Lit_VarLike 'lt_dlsym_const='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_dlsym_const='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_dlsym_const='> name: lt_dlsym_const ) 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 '*'> <osf5> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '/* This system does not cope well with relocations in const data */' > ) } ] 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.ShAssignment left: <Id.Lit_VarLike 'lt_dlsym_const='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_dlsym_const='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_dlsym_const='> name: lt_dlsym_const ) 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 'lt_dlsym_const='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_dlsym_const='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_dlsym_const='> name: lt_dlsym_const ) op: assign_op.Equal rhs: {<Id.KW_Const const>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'extern '> ($ Id.VSub_DollarName lt_dlsym_const) <' lt_dlsymlist\n'> <lt_> (${ Id.VSub_Name my_prefix) <'_LTX_preloaded_symbols[];\n'> ($ Id.VSub_DollarName 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.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.If if_kw: <Id.KW_If 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 my_pic_p) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<Xno>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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: [] ) ] spids: [15222 15237] ) ] 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: [] ) (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.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: { (DQ ($ Id.VSub_DollarName symtab_cflags) <' '> ($ Id.VSub_DollarName arg) ) } ) ] 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>} { (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"' > ) } ] 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: { (DQ ($ 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: [15388 15402] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName my_dlsyms) <'\''> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [13870 13881] ) ] 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_win32_libid> name: func_win32_libid body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ <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: <Id.VSub_DollarName '$OBJDUMP'> more_env: [] words: [ {($ Id.VSub_DollarName OBJDUMP)} {<-f>} {(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 <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 (pe-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.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: <Id.VSub_DollarName '$NM'> more_env: [] words: [ {($ Id.VSub_DollarName NM)} {<-f>} {<posix>} {<-A>} {(DQ ($ Id.VSub_Number 1))} ] 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: [] ) (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: [15747 15783] ) ] 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_extract_an_archive> name: func_extract_an_archive body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ ($ 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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName lock_old_archive_extraction))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [15970 15983] ) ] 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>} {(DQ ($ Id.VSub_DollarName lock_old_archive_extraction))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [16056 16069] ) ] 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: [16088 16117] ) ] 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ ($ 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: {(DQ )} ) ] 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: {(DQ )} ) ] 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: {(DQ )} ) ] 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: {(DQ )} ) ] 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: {(DQ ($ 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: {(DQ ($ 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: { (DQ ($ 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.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: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <basename> more_env: [] words: [ {<basename>} {(DQ ($ Id.VSub_DollarName darwin_archive))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] 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_Name darwin_base_archive) <-> (${ Id.VSub_Name 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_Name darwin_base_archive) <-> (${ Id.VSub_Name darwin_arch) <'/'> (${ Id.VSub_Name darwin_base_archive) ) } {(DQ (${ Id.VSub_Name darwin_archive))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [ {<cd>} { (DQ <unfat-> ($ Id.VSub_Dollar '$') <'/'> (${ Id.VSub_Name darwin_base_archive) <-> (${ Id.VSub_Name 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_Name 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_Name darwin_base_archive) <-> (${ Id.VSub_Name darwin_arch) <'/'> (${ Id.VSub_Name 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 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: <Id.VSub_DollarName '$NL2SP' > more_env: [] words: [ { ($ Id.VSub_DollarName NL2SP ) } ] redirects: [] do_fork: T ) ] ops: [<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: [16478 16489] ) ] 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: <Id.VSub_DollarName '$NL2SP'> more_env: [] words: [{($ Id.VSub_DollarName NL2SP)}] 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 '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: {(DQ ($ 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 TIMESTAMP) <') '> ($ 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'> <' # 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>} {(DQ ($ Id.VSub_DollarName fast_install))} {<Id.Lit_Equals '='>} {<yes>} ] 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_Name 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:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <relink_command> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 2>&1'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'; then :\n'> <' else\n'> <'\t'> ($ Id.VSub_DollarName 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: [17355 17368] ) ] 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.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName shlibpath_overrides_runpath))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [17625 17658] ) ] 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 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: [17714 17725] ) ] 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'> ) } ] 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 <' 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 <' 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'> <' 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:'\\') (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\' 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_to_host_path> name: func_to_host_path 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: {(DQ ($ 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.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 '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lt_sed_naive_backslashify='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_sed_naive_backslashify='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_sed_naive_backslashify='> name: lt_sed_naive_backslashify ) op: assign_op.Equal rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName build)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>}] ) 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: { (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 lt_sed_naive_backslashify ) ) } ] 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 '*'> <cygwin> <Id.Lit_Star '*'>}] ) 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: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <cygpath> more_env: [] words: [ {<cygpath>} {<-w>} {(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 lt_sed_naive_backslashify ) ) } ] 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_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: { (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_Name func_to_host_path_tmp1 ) ) } ] 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_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: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName func_to_host_path_tmp1 ) ) } ] 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_sed_naive_backslashify ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [18179 18204] ) ] 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: (rhs_word__Empty) ) ] 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>} {<-z>} {(DQ ($ Id.VSub_DollarName func_to_host_path_result))} ] 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 <'Could not determine host path corresponding to'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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_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: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) ] spids: [18250 18262] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [17994 18005] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <func_to_host_pathlist> name: func_to_host_pathlist body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> name: func_to_host_pathlist_result ) op: assign_op.Equal rhs: {(DQ ($ 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.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 '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lt_sed_naive_backslashify='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_sed_naive_backslashify='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_sed_naive_backslashify='> name: lt_sed_naive_backslashify ) op: assign_op.Equal rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)} ) ] redirects: [] ) (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_pathlist_tmp1='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_tmp1='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_tmp1='> name: func_to_host_pathlist_tmp1 ) 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 build)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <mingw> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> name: func_to_host_pathlist_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_DollarName func_to_host_pathlist_tmp1 ) ) } ] 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 lt_sed_naive_backslashify ) ) } ] 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 '*'> <cygwin> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> name: func_to_host_pathlist_result ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <cygpath> more_env: [] words: [ {<cygpath>} {<-w>} {<-p>} { (DQ ($ Id.VSub_DollarName func_to_host_pathlist_tmp1 ) ) } ] 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_sed_naive_backslashify ) ) } ] 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_to_host_pathlist_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> name: func_to_host_pathlist_result ) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_oldIFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_oldIFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_oldIFS='> name: func_to_host_pathlist_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_to_host_pathlist_f] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName func_to_host_pathlist_tmp1)}] ) 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_to_host_pathlist_oldIFS ) } ) ] 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_to_host_pathlist_f ) ) } ] 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 func_to_host_pathlist_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_to_host_path_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_to_host_pathlist_result ) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_result=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result=' > lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result=' > name: func_to_host_pathlist_result ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName func_to_host_path_result ) ) } ) ] redirects: [] ) ] spids: [18630 18642] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_to_host_pathlist_result>} { (DQ <';'> ($ Id.VSub_DollarName func_to_host_path_result ) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [18615 18627] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [18593 18605] ) ] 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 func_to_host_pathlist_oldIFS)} ) ] 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 func_to_host_pathlist_result ) ) } ] 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 < 'Could not determine the host path(s) corresponding to' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_error> more_env: [] words: [ {<func_error>} { (DQ <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 'lt_replace_pathsep_nix_to_dos='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lt_replace_pathsep_nix_to_dos='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lt_replace_pathsep_nix_to_dos='> name: lt_replace_pathsep_nix_to_dos ) op: assign_op.Equal rhs: {(DQ <'s|:|;|g'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> name: func_to_host_pathlist_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_DollarName func_to_host_pathlist_tmp1 ) ) } ] 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_nix_to_dos ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [18686 18697] ) ] 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_Number 1))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'func_to_host_pathlist_result='> name: func_to_host_pathlist_result ) op: assign_op.Equal rhs: { (DQ <';'> ($ Id.VSub_DollarName func_to_host_pathlist_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:{(DQ ($ 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_Colon ':'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <func_append> more_env: [] words: [ {<func_append>} {<func_to_host_pathlist_result>} {(DQ <';'>)} ] 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: [18387 18398] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] 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 TIMESTAMP) <') '> ($ 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'> <' Currently, it simply execs the wrapper *script* '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName SHELL) <' '> ($ Id.VSub_DollarName output) <Id.Right_DoubleQuote '"'> <',\n'> <' but could eventually absorb all of the scripts functionality and\n'> <' exec '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName outputname) <' directly.\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'> <'/* 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 platforms) ... */\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'> <'# ifndef _INTPTR_T_DEFINED\n'> <'# define _INTPTR_T_DEFINED\n'> <'# define intptr_t int\n'> <'# endif\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 ((void *) stale); stale = 0; } \\\n'> <'} while (0)\n'> <'\n'> <'#undef LTWRAPPER_DEBUGPRINTF\n'> <'#if defined LT_DEBUGWRAPPER\n'> <'# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args\n'> <'static void\n'> <'ltwrapper_debugprintf (const char *fmt, ...)\n'> <'{\n'> <' va_list args;\n'> <' va_start (args, fmt);\n'> <' (void) vfprintf (stderr, fmt, args);\n'> <' va_end (args);\n'> <'}\n'> <'#else\n'> <'# define LTWRAPPER_DEBUGPRINTF(args)\n'> <'#endif\n'> <'\n'> <'const char *program_name = NULL;\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_fatal (const char *message, ...);\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: [ <'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>} {(DQ ($ Id.VSub_DollarName shlibpath_overrides_runpath))} {<Id.Lit_Equals '='>} {<yes>} ] 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_pathlist> more_env: [] words: [{<func_to_host_pathlist>} {(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_pathlist_result) <Id.Right_DoubleQuote '"'> <';\n'> ] ) ) ] do_fork: T ) ] spids: [19102 19135] ) ] 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_pathlist> more_env: [] words: [ {<func_to_host_pathlist>} {(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_pathlist_result) <Id.Right_DoubleQuote '"'> <';\n'> ] ) ) ] do_fork: T ) ] spids: [19175 19186] ) ] 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>} {(DQ ($ Id.VSub_DollarName fast_install))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [19233 19246] ) ] 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'> <'#define LTWRAPPER_OPTION_PREFIX_LENGTH 5\n'> <'\n'> < 'static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;\n' > <'static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n'> <'\n'> < 'static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";\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'> <' intptr_t rval = 127;\n'> <'\n'> <' int i;\n'> <'\n'> <' program_name = (char *) xstrdup (base_name (argv[0]));\n'> <' LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\\n", argv[0]));\n'> < ' LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\\n", program_name));\n' > <'\n'> <' /* very simple arg parsing; don\'t want to rely on getopt */\n'> <' for (i = 1; i < argc; i++)\n'> <' {\n'> <' if (strcmp (argv[i], dumpscript_opt) == 0)\n'> <'\t{\n'> ] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ 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'> <' }\n'> <'\n'> <' newargz = XMALLOC (char *, argc + 1);\n'> <' tmp_pathspec = find_executable (argv[0]);\n'> <' if (tmp_pathspec == NULL)\n'> <' lt_fatal ("Couldn\'t find %s", argv[0]);\n'> < ' LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\\n",\n' > <'\t\t\t tmp_pathspec));\n'> <'\n'> <' actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n'> < ' LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\\n",\n' > <'\t\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'> <' LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\\n",\n'> <'\t\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'> <' lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n'> <' lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n'> <'\n'> <' newargc=0;\n'> <' for (i = 1; i < argc; i++)\n'> <' {\n'> < ' if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)\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 ("Unrecognized option in %s namespace: \'%s\'",\n'> <' ltwrapper_option_prefix, argv[i]);\n'> <' }\n'> <' /* otherwise ... */\n'> <' newargz[++newargc] = xstrdup (argv[i]);\n'> <' }\n'> <' newargz[++newargc] = NULL;\n'> <'\n'> < ' LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));\n' > <' for (i = 0; i < newargc; i++)\n'> <' {\n'> < ' LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\\n", i, (newargz[i] ? newargz[i] : "<NULL>")));\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 = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n' > <' if (rval == -1)\n'> <' {\n'> <' /* failed to start process */\n'> < ' LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \\"%s\\": errno = %d\\n", lt_argv_zero, 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 ("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'> <' LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\\n",\n'> <'\t\t\t path ? (*path ? path : "EMPTY!") : "NULL!"));\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'> <' LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\\n",\n'> <'\t\t\t path ? (*path ? path : "EMPTY!") : "NULL!"));\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'> <' int tmp_len;\n'> <' char *concat_name;\n'> <'\n'> <' LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\\n",\n'> <'\t\t\t wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));\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 = 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 ("getcwd failed");\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 ("getcwd failed");\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'> < ' LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\\n",\n' > <'\t\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 char *errstr = strerror (errno);\n'> <'\t lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);\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 ("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 (strcmp (str, pat) == 0)\n'> <'\t*str = \'\\0\';\n'> <' }\n'> <' return str;\n'> <'}\n'> <'\n'> <'static void\n'> <'lt_error_core (int exit_status, const char *mode,\n'> <'\t const char *message, va_list ap)\n'> <'{\n'> <' fprintf (stderr, "%s: %s: ", program_name, 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 *message, ...)\n'> <'{\n'> <' va_list ap;\n'> <' va_start (ap, message);\n'> <' lt_error_core (EXIT_FAILURE, "FATAL", message, ap);\n'> <' va_end (ap);\n'> <'}\n'> <'\n'> <'void\n'> <'lt_setenv (const char *name, const char *value)\n'> <'{\n'> <' LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting \'%s\' to \'%s\'\\n",\n'> <' (name ? name : "<NULL>"),\n'> <' (value ? value : "<NULL>")));\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'> <' int 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'> <' int orig_value_len = strlen (orig_value);\n'> <' int 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'> < ' LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying \'%s\' by prepending \'%s\'\\n",\n' > <' (name ? name : "<NULL>"),\n'> <' (value ? value : "<NULL>")));\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'> <' int len = strlen (new_value);\n'> < ' while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))\n' > <' {\n'> <' new_value[len-1] = \'\\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'> < ' LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying \'%s\' by prepending \'%s\'\\n",\n' > <' (name ? name : "<NULL>"),\n'> <' (value ? value : "<NULL>")));\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)} {<-e>} {(SQ <'s/\\([\\\\"]\\)/\\\\\\1/g'>)} {<-e>} {(SQ <'s/^/ fputs ("/'>)} {<-e>} {(SQ <'s/$/\\\\n", f);/'>)} ] 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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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>} { (DQ ($ 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:'"') <' 2>/dev/null'> ) } ] redirects: [] 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_mode_link> name: func_mode_link body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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 '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: {<no>} ) ] 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: {(DQ (${ Id.VSub_Name 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_configuration> more_env: [] words: [ {<func_fatal_configuration>} {(DQ <'can not 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>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: [20621 20644] ) ] 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: [20657 20668] ) ] 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: [20689 20710] ) ] 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: [20731 20752] ) ] 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: {(DQ ($ 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: {(DQ ($ 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.If if_kw: <Id.KW_If 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 preload))} {<Id.Lit_Equals '='>} {<no>} ] 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 <' @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: {<yes>} ) ] redirects: [] ) ] spids: [20949 20962] ) ] 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: <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>} {(DQ ($ Id.VSub_DollarName dlself))} {<Id.Lit_Equals '='>} {<no>} ] 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: [21020 21033] ) ] 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>} {(DQ ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<dlprefiles>} ] 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: [21060 21073] ) (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>} {(DQ ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<dlfiles>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName dlopen_self ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<yes>} ] 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: [21080 21106] ) ] 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>} {(DQ ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<dlfiles>} ] 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: { (DQ ($ Id.VSub_DollarName dlfiles) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) ] spids: [21140 21153] ) ] else_kw: <Id.KW_Else else> else_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: { (DQ ($ Id.VSub_DollarName dlprefiles) <' '> ($ Id.VSub_DollarName arg) ) } ) ] 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 _> ) ] 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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.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 deplibs) <' '> ($ Id.VSub_DollarName qarg) <.ltframework> ) } ) ] 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 '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: {(DQ ($ 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: <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>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } { < Id.Lit_Equals '=' > } {<none>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName non_pic_object ) ) } { < Id.Lit_Equals '=' > } {<none>} ] 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 ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName arg) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [21441 21489] ) ] 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: { (DQ ($ 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>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<none>} ] 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: { (DQ ($ 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>} { (DQ ($ Id.VSub_DollarName prev ) ) } { < Id.Lit_Equals '=' > } {<dlfiles>} ] 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 > } { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } { < Id.Lit_Equals '=' > } { < yes > } ] redirects: [] do_fork: T ) (command.Simple blame_tok: < test > more_env: [] words: [ { < test > } { (DQ ($ Id.VSub_DollarName dlopen_support ) ) } { < Id.Lit_Equals '=' > } { < yes > } ] 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 '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: { (DQ ($ Id.VSub_DollarName dlfiles ) <' '> ($ Id.VSub_DollarName pic_object) ) } ) ] 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 > ) ] spids: [21576 21601] ) ] 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: [21560 21573] ) ] 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_DollarName prev ) ) } { < Id.Lit_Equals '=' > } { < dlprefiles > } ] redirects: [] do_fork: T ) 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: { (DQ ($ Id.VSub_DollarName dlprefiles ) <' '> ($ Id.VSub_DollarName pic_object) ) } ) ] 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: [21640 21653] ) ] 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: { (DQ ($ Id.VSub_DollarName pic_object ) ) } ) ] redirects: [] ) ] spids: [21531 21545] ) ] 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_DollarName non_pic_object ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<none>} ] 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: { (DQ ($ 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>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } { < Id.Lit_Equals '=' > } {<none>} ] 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: { (DQ ($ Id.VSub_DollarName non_pic_object ) ) } ) ] redirects: [] ) ] spids: [21746 21770] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [21703 21717] ) ] 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: { (DQ ($ 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: [21410 21419] ) ] 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: { (DQ ($ 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: [21819 21824] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [21353 21364] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: <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: {(DQ ($ 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: {(DQ <-> ($ 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>} {(DQ ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<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: {(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.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: { (DQ ($ Id.VSub_DollarName rpath) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [22038 22051] ) ] 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.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: { (DQ ($ Id.VSub_DollarName xrpath) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName weak_libs) <' '> ($ 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: <xcclinker> pattern: (pat.Words words:[{<xcclinker>}]) middle: <Id.Right_CasePat _> action: [ (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: { (DQ ($ Id.VSub_DollarName linker_flags) <' '> ($ Id.VSub_DollarName qarg) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName compiler_flags) <' '> ($ Id.VSub_DollarName qarg) ) } ) ] 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.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.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 qarg) ) } ) ] 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.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.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: { (DQ ($ Id.VSub_DollarName linker_flags) <' '> ($ Id.VSub_DollarName qarg) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName compiler_flags) <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName qarg) ) } ) ] 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.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: [20867 20878] ) ] 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: {(DQ ($ 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: [22380 22391] ) ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: [22531 22552] ) ] 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 arg))} {<Id.Lit_Equals '='>} {(DQ <X-export-symbols>)} ] 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: [22565 22581] ) ] 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>} {(SQ <-L>)} {(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.If if_kw: <Id.KW_If 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 dir))}] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-L\' and '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_Number 1) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [22753 22766] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-L\' option'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [22739 22750] ) ] 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 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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 '*'> } ] ) 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 deplibs) <' -L'> ($ Id.VSub_DollarName dir) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName lib_search_path) <' '> ($ Id.VSub_DollarName dir) ) } ) ] 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 '*'> <-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.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: { (DQ ($ Id.VSub_DollarName dllsearchpath) <':'> ($ Id.VSub_DollarName dir) ) } ) ] 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.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.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: { (DQ ($ Id.VSub_DollarName dllsearchpath) <':'> ($ Id.VSub_DollarName testbindir) ) } ) ] redirects: [] ) ] 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>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lm>)} ] 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>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)} ] 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 '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)} ] 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.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 deplibs) <' System.ltframework'> ) } ) ] redirects: [] ) (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>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)} ] 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>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)} ] 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 '*'> <-linux> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)} ] 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: [23107 23138] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName arg))} {<Id.Lit_Equals '='>} {(DQ <X-lc_r>)} ] 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 '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [23451 23467] ) ] 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 deplibs) <' '> ($ Id.VSub_DollarName arg) ) } ) ] 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>}]) middle: <Id.Right_CasePat _> 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.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>} ] ) middle: <Id.Right_CasePat _> 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: {(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.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: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags) <' '> ($ Id.VSub_DollarName arg) ) } ) ] 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: <-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: {(DQ (${ Id.VSub_Name 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: <-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_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.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: { (DQ ($ Id.VSub_DollarName xrpath) <' '> ($ Id.VSub_DollarName dir) ) } ) ] 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: <-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: {(DQ ($ 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: [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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName arg) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName compiler_flags) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] 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: {(DQ ($ 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: {(DQ ($ 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: [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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName arg) <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName compiler_flags) <' '> ($ Id.VSub_DollarName wl) ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName linker_flags) <' '> ($ Id.VSub_DollarName func_quote_for_eval_result) ) } ) ] 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: {(DQ ($ 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: {(DQ ($ 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 '*'>} ] ) 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: {(DQ ($ 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.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.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName objs) <' '> ($ Id.VSub_DollarName arg)) } ) ] 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_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>} {(DQ ($ Id.VSub_DollarName pic_object))} {<Id.Lit_Equals '='>} {<none>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName non_pic_object) ) } {<Id.Lit_Equals '='>} {<none>} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName arg) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [24753 24801] ) ] 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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName pic_object))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>} ] 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: { (DQ ($ 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>} {(DQ ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<dlfiles>} ] 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>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName dlopen_support ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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 '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: { (DQ ($ Id.VSub_DollarName dlfiles) <' '> ($ Id.VSub_DollarName pic_object) ) } ) ] 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> ) ] spids: [24888 24913] ) ] 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: [24872 24885] ) ] 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_DollarName prev))} {<Id.Lit_Equals '='>} {<dlprefiles>} ] redirects: [] do_fork: T ) 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: { (DQ ($ Id.VSub_DollarName dlprefiles) <' '> ($ Id.VSub_DollarName pic_object) ) } ) ] 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: [24952 24965] ) ] 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: {(DQ ($ Id.VSub_DollarName pic_object))} ) ] redirects: [] ) ] spids: [24843 24857] ) ] 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_DollarName non_pic_object))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>} ] 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: { (DQ ($ 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>} { (DQ ($ Id.VSub_DollarName pic_object ) ) } {<Id.Lit_Equals '='>} {<none>} ] 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: { (DQ ($ Id.VSub_DollarName non_pic_object) ) } ) ] redirects: [] ) ] spids: [25058 25082] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [25015 25029] ) ] 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: {(DQ ($ 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: [24722 24731] ) ] 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: {(DQ ($ 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: [25131 25136] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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.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 deplibs) <' '> ($ Id.VSub_DollarName arg) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName old_deplibs) <' '> ($ Id.VSub_DollarName arg) ) } ) ] 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.If if_kw: <Id.KW_If 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 prev))} {<Id.Lit_Equals '='>} {<dlfiles>} ] 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: { (DQ ($ Id.VSub_DollarName dlfiles) <' '> ($ 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: [] ) ] spids: [25268 25281] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName prev))} {<Id.Lit_Equals '='>} {<dlprefiles>} ] redirects: [] do_fork: T ) 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: { (DQ ($ Id.VSub_DollarName dlprefiles) <' '> ($ 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: [] ) ] spids: [25299 25312] ) ] 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 deplibs) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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: [25394 25405] ) ] 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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>} {(DQ ($ Id.VSub_DollarName export_dynamic))} {<Id.Lit_Equals '='>} {<yes>} ] 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>} { (DQ <'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: [25461 25484] ) ] 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: {(DQ ($ 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: {(DQ ($ 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.Lit_LBrace '{'> ($ Id.VSub_DollarName shlibpath_var) <Id.Lit_RBrace '}'> (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: [25548 25559] ) ] 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>} { (DQ <'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>} { (DQ <'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_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: {(DQ ($ Id.VSub_DollarName func_dirname_result) ($ Id.VSub_DollarName objdir))} ) ] 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_duplicate_deps'> more_env: [] words: [{($ Id.VSub_DollarName opt_duplicate_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.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: { (DQ ($ Id.VSub_DollarName specialdeplibs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [25764 25770] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> 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: {(DQ ($ Id.VSub_DollarName libs) <' '> ($ Id.VSub_DollarName deplib))} ) ] 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 ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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.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: { (DQ ($ Id.VSub_DollarName specialdeplibs) <' '> ($ Id.VSub_DollarName pre_post_deps) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> 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: { (DQ ($ Id.VSub_DollarName pre_post_deps) <' '> ($ Id.VSub_DollarName pre_post_dep) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [25864 25869] ) ] 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: [25820 25833] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: {<no>} ) ] 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>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'lib,link'>)} ] 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: {(DQ ($ Id.VSub_DollarName tmp_deplibs))} ) ] redirects: [] ) ] spids: [26104 26121] ) ] 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>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'lib,link'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,scan'>)} ] 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: {(DQ ($ 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: [26168 26202] ) ] 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_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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: {(DQ ($ 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: {(DQ ($ 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% '> ($ Id.VSub_DollarName dependency_libs) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [26217 26230] ) ] 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_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'lib,dlpreopen'>)} ] 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.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 lib))}] 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.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 deplibs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ Id.VSub_DollarName dlprefiles))} ) ] redirects: [] ) ] spids: [26281 26298] ) ] 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_DollarName pass))} {<Id.Lit_Equals '='>} {<dlopen>} ] 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: {(DQ ($ 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: [26433 26446] ) ] 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: {<no>} ) ] 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>} ] ) 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>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,link'>)} ] 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: [26510 26527] ) ] 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) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] 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 linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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.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: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [26557 26571] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<lib>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<prog>} ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-l\' is ignored for archives/objects'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [26630 26657] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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: [26692 26705] ) ] 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: { (DQ ($ Id.VSub_DollarName searchdir) <'/lib'> (${ Id.VSub_Name name) (${ Id.VSub_Name 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>} { (DQ ($ Id.VSub_DollarName search_ext ) ) } {<Id.Lit_Equals '='>} {(DQ <.la>)} ] 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: {<yes>} ) ] redirects: [] ) ] spids: [26801 26816] ) ] 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: {<no>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> arg_word: {<2>} ) ] spids: [26787 26798] ) ] 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: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName found))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] 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 linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,link'>)} ] 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: [26868 26885] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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: [26847 26861] ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } {<Id.Lit_Equals '='>} {(DQ <Xyes>)} ] 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: { (DQ ($ 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: {<no>} ) ] 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: { (DQ ($ 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>} { (DQ ($ Id.VSub_DollarName linkmode ) <','> ($ Id.VSub_DollarName pass) ) } { < Id.Lit_Equals '=' > } { (DQ < 'prog,link' > ) } ] 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: [27100 27117] ) ] 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>} { (DQ ($ Id.VSub_DollarName linkmode ) ) } { < Id.Lit_Equals '=' > } {<lib>} ] 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: [27046 27064] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [26998 27007] ) ] 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: [26955 26972] ) ] 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 '*'> <.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>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,link'>)} ] 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: [27208 27225] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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.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: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [27255 27269] ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<conv>} ] 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.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: { (DQ ($ Id.VSub_DollarName newlib_search_path) <' '> ($ Id.VSub_DollarName func_stripname_result) ) } ) ] redirects: [] ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<conv>} ] 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: [27399 27412] ) ] 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_DollarName pass))} {<Id.Lit_Equals '='>} {<scan>} ] 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: [27429 27442] ) ] 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.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: { (DQ ($ Id.VSub_DollarName newlib_search_path) <' '> ($ 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_warning> more_env: [] words: [ {<func_warning>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<link>} ] 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.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: {(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.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: { (DQ ($ Id.VSub_DollarName xrpath) <' '> ($ Id.VSub_DollarName dir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [27535 27548] ) ] 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.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: {(DQ ($ Id.VSub_DollarName deplib))} ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<conv>} ] 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: [27646 27659] ) ] 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: {<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: <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: {<yes>} ) ] redirects: [] ) ] spids: [27775 27811] ) ] 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: {<yes>} ) ] 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>} { (DQ ($ Id.VSub_DollarName valid_a_lib ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<yes>} ] 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: 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 ) ] spids: [27838 27852] ) ] 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'> ) } ] 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: [] ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<link>} ] 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: [27955 27969] ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<conv>} ] 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: [28031 28044] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<dlpreopen>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName dlopen_support ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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 '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: { (DQ ($ Id.VSub_DollarName newdlprefiles) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] 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: { (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: [28071 28109] ) ] 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: { (DQ ($ Id.VSub_DollarName newdlfiles) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [28055 28068] ) ] 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: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] 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>} {(DQ ($ Id.VSub_DollarName found))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName lib))} ] redirects: [] do_fork: T ) ] ops: [<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: [28190 28213] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ <'cannot find the library '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName lib) <'\' or unhandled argument '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName deplib) <'\''> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName new_inherited_linker_flags ) <' '> ($ Id.VSub_DollarName tmp_inherited_linker_flag) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [28341 28352] ) ] 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>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'lib,link'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,scan'>)} ] 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 linkmode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<prog>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<lib>} ] 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.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: { (DQ ($ Id.VSub_DollarName dlfiles) <' '> ($ Id.VSub_DollarName dlopen) ) } ) ] redirects: [] ) ] 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.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: { (DQ ($ Id.VSub_DollarName dlprefiles) <' '> ($ Id.VSub_DollarName dlpreopen) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [28464 28530] ) ] 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_DollarName pass))} {<Id.Lit_Equals '='>} {<conv>} ] 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 ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [28615 28626] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> 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: { (DQ ($ Id.VSub_DollarName convenience) <' '> ($ Id.VSub_DollarName ladir) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName old_convenience) <' '> ($ Id.VSub_DollarName ladir) <'/'> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) ] spids: [28601 28612] ) (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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<prog>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<lib>} ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName lib) <'\' is not a convenience library'> ) } ] redirects: [] do_fork: T ) ] spids: [28670 28697] ) ] 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.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_duplicate_deps' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_duplicate_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.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: { (DQ ($ Id.VSub_DollarName specialdeplibs ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [28735 28741] ) ] 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: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [28573 28586] ) ] 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.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: {(DQ ($ 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>} {<-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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [28831 28842] ) ] 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_DollarName pass))} {<Id.Lit_Equals '='>} {<dlopen>} ] 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 libdir))} ] 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 -dlopen a convenience library: '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [28879 28890] ) ] 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>} {<-z>} {(DQ ($ Id.VSub_DollarName dlname))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName dlopen_support) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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 '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: { (DQ ($ Id.VSub_DollarName dlprefiles) <' '> ($ Id.VSub_DollarName lib) <' '> ($ Id.VSub_DollarName dependency_libs) ) } ) ] redirects: [] ) ] spids: [28906 28944] ) ] 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: { (DQ ($ Id.VSub_DollarName newdlfiles) <' '> ($ Id.VSub_DollarName lib) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [28863 28876] ) ] 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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: {(DQ ($ Id.VSub_DollarName ladir))} ) ] redirects: [] ) ] spids: [29055 29066] ) ] 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: {(DQ ($ 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>} {(DQ <X> ($ Id.VSub_DollarName installed))} {<Id.Lit_Equals '='>} {<Xyes>} ] 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 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName abs_ladir))} ) ] redirects: [] ) ] spids: [29136 29163] ) ] 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName libdir))} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <X> ($ Id.VSub_DollarName hardcode_automatic))} {<Id.Lit_Equals '='>} {<Xyes>} ] 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: [29119 29133] ) ] 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName abs_ladir))} ) ] 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: { (DQ ($ Id.VSub_DollarName notinst_path) <' '> ($ Id.VSub_DollarName abs_ladir) ) } ) ] redirects: [] ) ] spids: [29232 29261] ) ] 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: { (DQ ($ 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: { (DQ ($ Id.VSub_DollarName abs_ladir) <'/'> ($ Id.VSub_DollarName objdir) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName notinst_path) <' '> ($ Id.VSub_DollarName abs_ladir) ) } ) ] redirects: [] ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<dlpreopen>} ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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: ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName lib) <'\''> ) } ] redirects: [] do_fork: T ) ] spids: [29368 29391] ) ] 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.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: { (DQ ($ Id.VSub_DollarName newdlprefiles) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dlpreconveniencelibs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dlpreconveniencelibs='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'dlpreconveniencelibs='> name: dlpreconveniencelibs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dlpreconveniencelibs ) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [29415 29426] ) (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.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: { (DQ ($ Id.VSub_DollarName newdlprefiles) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName dlname) ) } ) ] redirects: [] ) ] spids: [29473 29484] ) ] else_kw: <Id.KW_Else else> else_action: [ (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: { (DQ ($ Id.VSub_DollarName newdlprefiles) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [29352 29365] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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: [29538 29551] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,link'>)} ] 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: [29564 29581] ) ] 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: [29520 29531] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<link>} ] 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 '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: { (DQ ($ Id.VSub_DollarName newlib_search_path) <' '> ($ Id.VSub_DollarName ladir) ) } ) ] 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 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: {<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>} { (DQ ($ Id.VSub_DollarName link_all_deplibs ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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>} { (DQ ($ Id.VSub_DollarName build_libtool_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: {<yes>} ) ] redirects: [] ) ] spids: [29679 29716] ) ] 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.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: { (DQ ($ Id.VSub_DollarName newlib_search_path ) <' '> ($ Id.VSub_DollarName func_stripname_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>} { (DQ ($ Id.VSub_DollarName linkalldeplibs ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: [29785 29798] ) ] 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_duplicate_deps' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_duplicate_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.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: { (DQ ($ Id.VSub_DollarName specialdeplibs ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [29831 29837] ) ] 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: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [29629 29655] ) ] 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_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.Lit_Equals '='>} {(DQ <'prog,link'>)} ] 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>} { (DQ ($ Id.VSub_DollarName prefer_static_libs ) ) } { < Id.Lit_Equals '=' > } {<no>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName prefer_static_libs ) <','> ($ Id.VSub_DollarName installed) ) } { < Id.Lit_Equals '=' > } { (DQ < 'built,yes' > ) } ] 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: { (DQ ($ Id.VSub_DollarName temp_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.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: { (DQ ($ Id.VSub_DollarName temp_rpath ) ($ Id.VSub_DollarName absdir) <':'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [29988 30010] ) ] 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.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: { (DQ ($ Id.VSub_DollarName compile_rpath ) <' '> ($ Id.VSub_DollarName absdir) ) } ) ] redirects: [] ) ] ) ] 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.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: { (DQ ($ Id.VSub_DollarName finalize_rpath ) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [29919 29981] ) ] 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>} {(DQ ($ Id.VSub_DollarName alldeplibs))} {<Id.Lit_Equals '='>} {<yes>} ] 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 deplibs_check_method ) ) } {<Id.Lit_Equals '='>} {<pass_all>} ] 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 build_libtool_libs ) ) } { < Id.Lit_Equals '=' > } {<yes>} ] 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: [30215 30275] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [29899 29916] ) ] 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>} {(DQ ($ Id.VSub_DollarName use_static_libs))} {<Id.Lit_Equals '='>} {<built>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName installed))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [30303 30328] ) ] 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>} { (DQ ($ Id.VSub_DollarName use_static_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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 '*'>} ] ) middle: <Id.Right_CasePat _> 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: { (DQ ($ Id.VSub_DollarName notinst_deplibs) <' '> ($ Id.VSub_DollarName lib) ) } ) ] 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: [] ) ] 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>} { (DQ ($ Id.VSub_DollarName installed) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ Id.VSub_DollarName notinst_deplibs) <' '> ($ Id.VSub_DollarName lib) ) } ) ] 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: {<yes>} ) ] redirects: [] ) ] spids: [30428 30441] ) ] 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: {(DQ )} ) ] 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: { (DQ ($ Id.VSub_DollarName dlpremoduletest) ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [30495 30512] ) ] 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>} { (DQ ($ Id.VSub_DollarName shouldnotlink) ) } {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<link>} ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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: [30571 30584] ) ] 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: [30530 30565] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_into_libs ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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.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: { (DQ ($ Id.VSub_DollarName compile_rpath ) <' '> ($ Id.VSub_DollarName absdir) ) } ) ] redirects: [] ) ] ) ] 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.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: { (DQ ($ Id.VSub_DollarName finalize_rpath ) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [30623 30649] ) ] 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: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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 ) (command.If if_kw: <Id.KW_If 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: {(DQ ($ Id.VSub_DollarName dlname))} ) ] redirects: [] ) ] spids: [30857 30868] ) (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 '*'> } ] ) 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: { (DQ <-> ($ 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>} { (DQ <'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: [30877 30888] ) ] 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: {(DQ ($ 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: {(DQ ($ 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: {(DQ ($ 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: [31017 31031] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [31068 31081] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <func_verbose> more_env: [] words: [ {<func_verbose>} { (DQ <'generating import library for '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: [30806 30817] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<relink>} ] 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>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ 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: { (DQ <-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: { (DQ <-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: { (DQ <-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: [ 31374 31386 ] ) ] 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: { (DQ ($ Id.VSub_DollarName dir ) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [31344 31362] ) (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: { (DQ ($ Id.VSub_DollarName dir ) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) ] spids: [31420 31431] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [31315 31341] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [31189 31202] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ 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: { (DQ <-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: { (DQ <-l> ($ Id.VSub_DollarName name) ) } ) ] redirects: [] ) ] spids: [31451 31464] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: {(DQ ($ 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: { (DQ <-l> ($ Id.VSub_DollarName name) ) } ) ] redirects: [] ) ] spids: [31506 31519] ) ] 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>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_direct_absolute ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName linklib) ) } ) ] redirects: [] ) ] spids: [31552 31578] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: { (DQ <-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.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: { (DQ ($ Id.VSub_DollarName add_dir ) <' -L'> ($ Id.VSub_DollarName inst_prefix_dir) ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [31616 31627] ) ] 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: { (DQ <-l> ($ Id.VSub_DollarName name) ) } ) ] redirects: [] ) ] spids: [31589 31602] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: {(DQ ($ 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: { (DQ <-l> ($ Id.VSub_DollarName name) ) } ) ] redirects: [] ) ] spids: [31670 31683] ) ] 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>} { (DQ ($ Id.VSub_DollarName lib_linked) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] 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: [31725 31739] ) ] 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.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: { (DQ ($ Id.VSub_DollarName compile_shlibpath ) ($ Id.VSub_DollarName add_shlibpath) <':'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [31753 31764] ) ] 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_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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: [31807 31820] ) ] 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>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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.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: { (DQ ($ Id.VSub_DollarName finalize_shlibpath ) ($ Id.VSub_DollarName libdir) <':'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [31898 31939] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [31132 31158] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<relink>} ] 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>} { (DQ ($ Id.VSub_DollarName hardcode_direct ) ) } {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_direct_absolute ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) ) } ) ] redirects: [] ) ] spids: [32030 32056] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_minus_L ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: {(DQ <-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: {(DQ <-l> ($ Id.VSub_DollarName name))} ) ] redirects: [] ) ] spids: [32067 32080] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_shlibpath_var ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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.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: { (DQ ($ Id.VSub_DollarName finalize_shlibpath ) ($ Id.VSub_DollarName libdir) <':'> ) } ) ] redirects: [] ) ] 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: {(DQ <-l> ($ Id.VSub_DollarName name))} ) ] redirects: [] ) ] spids: [32097 32110] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName hardcode_automatic ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: { (DQ ($ Id.VSub_DollarName inst_prefix_dir ) ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) ) } ) ] redirects: [] ) ] spids: [32173 32199] ) ] 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: { (DQ ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName linklib) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [32157 32170] ) ] 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: {(DQ <-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.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: { (DQ ($ Id.VSub_DollarName add_dir ) <' -L'> ($ Id.VSub_DollarName inst_prefix_dir) ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [32243 32254] ) ] 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: {(DQ <-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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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: [32301 32314] ) ] 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: [31989 32014] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [30338 30377] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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 hardcode_direct))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<unsupported>} ] 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: {(DQ ($ 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: [32426 32440] ) ] 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: [32398 32411] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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 deplibs_check_method ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<pass_all>} ] 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 can not 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>} {(DQ ($ Id.VSub_DollarName module))} {<Id.Lit_Equals '='>} {<yes>} ] 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 ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') < '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 <'*** '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'nm\' from GNU binutils and a full rebuild may help.'> ) } ] redirects: [] do_fork: T ) ] spids: [32631 32642] ) ] 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_DollarName build_old_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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: [32683 32696] ) ] 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: [32594 32607] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [32527 32541] ) ] 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: [32507 32520] ) ] 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_DollarName linkmode))} {<Id.Lit_Equals '='>} {<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.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>} { (DQ ($ Id.VSub_DollarName hardcode_into_libs ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName build_old_libs ) ) } {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ ($ Id.VSub_DollarName link_static ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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.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: { (DQ ($ Id.VSub_DollarName xrpath ) <' '> ($ Id.VSub_DollarName temp_xrpath) ) } ) ] 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.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: { (DQ ($ Id.VSub_DollarName temp_deplibs ) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] 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: {(DQ ($ Id.VSub_DollarName temp_deplibs))} ) ] redirects: [] ) ] spids: [32763 32819] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> 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: { (DQ ($ Id.VSub_DollarName newlib_search_path) <' '> ($ Id.VSub_DollarName absdir) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName link_static))} {<Id.Lit_Equals '='>} {<no>} ] 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.If 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_deps' > more_env: [] words: [ { ($ Id.VSub_DollarName opt_duplicate_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.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: { (DQ ($ Id.VSub_DollarName specialdeplibs ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [32998 33004] ) ] 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: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] 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 ($ Id.VSub_DollarName link_all_deplibs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ 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_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: { (DQ ($ 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: { (DQ ($ 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 ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ 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: { (DQ ($ Id.VSub_DollarName dir ) ) } ) ] redirects: [] ) ] spids: [33192 33203] ) ] 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.ShAssignment left: <Id.Lit_VarLike 'deplibrary_names=' > pairs: [ (AssignPair left: <Id.Lit_VarLike 'deplibrary_names=' > lhs: (sh_lhs_expr.Name left: < Id.Lit_VarLike 'deplibrary_names=' > name: deplibrary_names ) op: assign_op.Equal rhs: { (CommandSub left_token: < Id.Left_Backtick '`' > child: (command.Simple blame_tok: < Id.Left_DollarBrace '${' > more_env: [] words: [ { (${ Id.VSub_Name SED ) } {<-n>} {<-e>} { (SQ < 's/^library_names=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName deplib ) } ] 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 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: { (DQ ($ 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.Left_DollarBrace '${' > more_env: [] words: [ { (${ Id.VSub_Name 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.Left_DollarBrace '${' > more_env: [] words: [ { (${ Id.VSub_Name 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: [ 33379 33390 ] ) ] else_action: [] fi_kw: < Id.KW_Fi fi > 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: { (DQ ($ Id.VSub_DollarName compiler_flags ) <' '> (${ Id.VSub_Name wl) <'-dylib_file '> (${ Id.VSub_Name wl) (${ Id.VSub_Name darwin_install_name) < ':' > (${ Id.VSub_Name depdepl) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName linker_flags ) <' -dylib_file '> (${ Id.VSub_Name darwin_install_name) <':'> (${ Id.VSub_Name depdepl) ) } ) ] redirects: [] ) (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: [ 33328 33344 ] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [33293 33305] ) ] 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: { (DQ <-L> ($ Id.VSub_DollarName absdir ) <'/'> ($ Id.VSub_DollarName objdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [33231 33246] ) ] else_kw: <Id.KW_Else else> else_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: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: < Id.Left_DollarBrace '${' > more_env: [] words: [ { (${ Id.VSub_Name SED ) } {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName deplib ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`' > ch: '`' ) ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`' > ch: '`' ) ($ 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: { (DQ <-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: [33054 33068] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [32747 32760] ) ] 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<link>} ] 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 linkmode))} {<Id.Lit_Equals '='>} {(DQ <prog>)} ] 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: [33653 33668] ) ] 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: [33637 33650] ) ] 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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName pass))} {<Id.Lit_Equals '='>} {<dlpreopen>} ] 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: [33733 33746] ) ] 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_DollarName pass))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<dlopen>} ] 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 pass))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<conv>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (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.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: { (DQ ($ Id.VSub_DollarName lib_search_path) <' '> ($ Id.VSub_DollarName dir) ) } ) ] redirects: [] ) ] 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: [] ) ] spids: [33796 33810] ) ] 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_DollarName linkmode) <','> ($ Id.VSub_DollarName pass) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'prog,link'>)} ] 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 <deplibs>)} ) ] redirects: [] ) ] spids: [33880 33898] ) ] 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: {(DQ <'compile_deplibs finalize_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: '$' ) ($ Id.VSub_DollarName var) } ] 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.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: { (DQ ($ Id.VSub_DollarName tmp_libs ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] 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.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: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] 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: '$' ) <tmp_libs> } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [33779 33793] ) ] 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: [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: {(DQ )} ) ] 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.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: { (DQ ($ Id.VSub_DollarName tmp_libs) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) ] spids: [34324 34336] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] 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: {(DQ ($ Id.VSub_DollarName newdlfiles))} ) ] redirects: [] ) ] spids: [34363 34376] ) ] 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>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<prog>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {<lib>} ] 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: {(DQ ($ Id.VSub_DollarName newdlprefiles))} ) ] redirects: [] ) ] spids: [34388 34413] ) ] 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>} {(DQ ($ Id.VSub_DollarName dlself))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-dlopen\' is ignored for archives'> ) } ] redirects: [] do_fork: T ) ] spids: [34437 34462] ) ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-l\' and '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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: {(DQ ($ Id.VSub_DollarName output))} ) ] 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: {(DQ ($ Id.VSub_DollarName objs) ($ Id.VSub_DollarName old_deplibs))} ) ] redirects: [] ) ] 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>} { (DQ <'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>} { (DQ <'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>} {(DQ ($ Id.VSub_DollarName module))} {<Id.Lit_Equals '='>} {<no>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_help> more_env: [] words: [ {<func_fatal_help>} { (DQ <'libtool library '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName output) <'\' must begin with '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'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>} {(DQ ($ Id.VSub_DollarName need_lib_prefix))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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>} { (DQ <'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>} { (DQ <'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: [34741 34755] ) ] 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>} {(DQ ($ Id.VSub_DollarName deplibs_check_method))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<pass_all>} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName output) <'\' from non-libtool objects on this host:'> ($ Id.VSub_DollarName objs) ) } ] redirects: [] do_fork: T ) ] spids: [34845 34859] ) ] 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.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: { (DQ ($ Id.VSub_DollarName libobjs) <' '> ($ Id.VSub_DollarName objs) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [34831 34842] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName dlself))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-dlopen self\' is ignored for libtool libraries'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (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>} {(DQ ($ Id.VSub_Pound '#'))} {<-gt>} {<1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ <'ignoring multiple '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [34994 35007] ) ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-release\' is ignored for convenience libraries'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [34980 34991] ) ] 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: {(DQ ($ 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.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: {(DQ ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-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: {(DQ ($ 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: {(DQ ($ 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: {(DQ ($ 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>} {<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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName number_revision))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <freebsd-aout> pattern: (pat.Words words: [{<freebsd-aout>} {<freebsd-elf>} {<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: {(DQ ($ 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: {(DQ ($ 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: {(DQ <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: {(DQ ($ 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: {(DQ ($ 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 _> ) ] 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: {(DQ ($ 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: {(DQ ($ 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName age) <'\' is greater than the current interface number '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName current) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_fatal_error> more_env: [] words: [ {<func_fatal_error>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName vinfo) <'\' is not valid version information'> ) } ] redirects: [] do_fork: T ) ] spids: [35660 35675] ) ] 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: { (DQ ($ 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_Name wl) <'-compatibility_version '> (${ Id.VSub_Name wl) ($ Id.VSub_DollarName minor_current) <' '> (${ Id.VSub_Name wl) <'-current_version '> (${ Id.VSub_Name 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: [] ) ] 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: {(DQ <.> ($ Id.VSub_DollarName current))} ) ] redirects: [] ) (command.Sentence child: (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: { (DQ <.> ($ Id.VSub_DollarName current) <.> ($ Id.VSub_DollarName revision) ) } ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <freebsd-elf> pattern: (pat.Words words:[{<freebsd-elf>}]) 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: {(DQ <.> ($ 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: {(DQ <.> ($ Id.VSub_DollarName current))} ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName lt_irix_increment)) } {<Id.Lit_Equals '='>} {(DQ <Xno>)} ] 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: [35878 35894] ) ] 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: { (DQ ($ 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>} {(DQ ($ Id.VSub_DollarName loop))} {<-ne>} {<0>} ] 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: { (DQ ($ Id.VSub_DollarName verstring_prefix) ($ Id.VSub_DollarName major) <.> ($ Id.VSub_DollarName iface) <':'> ($ 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: { (DQ ($ 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: { (DQ ($ 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: { (DQ <.> ($ 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: { (DQ ($ 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>} {(DQ ($ Id.VSub_DollarName loop))} {<-ne>} {<0>} ] 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: { (DQ ($ Id.VSub_DollarName verstring) <':'> (${ Id.VSub_Name iface) <.0> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) 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 ($ Id.VSub_DollarName verstring) <':'> (${ Id.VSub_Name current) <.0> ) } ) ] redirects: [] ) ] 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: {(DQ <.> ($ 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: {(DQ <.> ($ 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: {(DQ <.> ($ 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: { (DQ <.> ($ 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: {(DQ <-> ($ 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ <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>} {(DQ ($ Id.VSub_DollarName need_version))} {<Id.Lit_Equals '='>} {<no>} ] 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: [36385 36398] ) ] 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: {(DQ <.0.0>)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [36317 36338] ) ] 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>} {(DQ ($ Id.VSub_DollarName avoid_version))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName need_version))} {<Id.Lit_Equals '='>} {<no>} ] 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.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: {(DQ )} ) ] redirects: [] ) ] spids: [36424 36449] ) ] 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_DollarName allow_undefined))} {<Id.Lit_Equals '='>} {<yes>} ] 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 allow_undefined_flag))} {<Id.Lit_Equals '='>} {<unsupported>} ] 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'> ) } ] 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: [] ) (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: [36487 36500] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [36471 36484] ) ] 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: {(DQ ($ 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))} {(DQ <yes>)} ] 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: { (DQ ($ Id.VSub_DollarName libobjs) <' '> ($ Id.VSub_DollarName symfileobj) ) } ) ] redirects: [] ) (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.If if_kw: <Id.KW_If 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 mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<relink>} ] 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_Name libname) (${ Id.VSub_Name 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>} { (DQ <X> ($ Id.VSub_DollarName precious_files_regex ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X>)} ] 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: [36707 36732] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [36687 36704] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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 removelist) <' '> ($ Id.VSub_DollarName p) ) } ) ] 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: [] ) ] 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: [36586 36600] ) ] 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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<convenience>} ] 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 '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 oldlibs) <' '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.> ($ Id.VSub_DollarName libext) ) } ) ] 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: {(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_Name 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: [36799 36826] ) ] 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.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: { (DQ ($ Id.VSub_DollarName temp_xrpath) <' -R'> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) (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.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: { (DQ ($ Id.VSub_DollarName finalize_rpath) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] 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>} {(DQ ($ Id.VSub_DollarName hardcode_into_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [36999 37025] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [36917 36928] ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName dlfiles) <' '> ($ Id.VSub_DollarName lib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName dlprefiles) <' '> ($ Id.VSub_DollarName lib) ) } ) ] 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.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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.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 deplibs) <' System.ltframework'> ) } ) ] redirects: [] ) ] 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>} { (DQ ($ Id.VSub_DollarName build_libtool_need_lc ) ) } {<Id.Lit_Equals '='>} {(DQ <yes>)} ] 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 deplibs) <' -lc'> ) } ) ] redirects: [] ) ] spids: [37426 37441] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [37196 37207] ) ] 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: {(DQ )} ) ] 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: {(DQ )} ) ] 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: {(DQ )} ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } {<Id.Lit_Equals '='>} {(DQ <Xyes>)} ] 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) (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: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [37679 37696] ) ] 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.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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 ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'deplib_matches='> (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.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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) ] spids: [37793 37820] ) ] 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: [37744 37756] ) ] 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 '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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [37611 37626] ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } { < Id.Lit_Equals '=' > } {(DQ <Xyes>)} ] 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) (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: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [38003 38020] ) ] 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.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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 ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'deplib_matches='> (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.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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) ] spids: [38117 38144] ) ] 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: [38068 38080] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [37975 37990] ) ] 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs) <' '> ($ Id.VSub_DollarName i) ) } ) ] redirects: [] ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } {<Id.Lit_Equals '='>} {(DQ <Xyes>)} ] 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName a_deplib) ) } ) ] redirects: [] ) (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: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [38370 38387] ) ] 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.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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 ) (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.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: [38511 38537] ) ] 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: { (DQ ($ 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.Left_DollarBrace '${' > more_env: [] words: [ { (${ Id.VSub_Name 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: { (DQ ($ 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 > } { (DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName a_deplib) ) } ) ] redirects: [] ) (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: {(DQ )} ) ] redirects: [] ) (command.ControlFlow keyword: < Id.ControlFlow_Break break > arg_word: {<2>} ) ] spids: [38677 38716] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [38435 38447] ) ] 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: [38808 38820] ) ] 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: [38749 38761] ) ] 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 '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: { (DQ ($ Id.VSub_DollarName newdeplibs) <' '> ($ Id.VSub_DollarName a_deplib) ) } ) ] redirects: [] ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } {<Id.Lit_Equals '='>} {(DQ <Xyes>)} ] 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName a_deplib) ) } ) ] redirects: [] ) (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: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [38974 38991] ) ] 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.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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 ) (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: { (DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName newdeplibs ) <' '> ($ Id.VSub_DollarName a_deplib) ) } ) ] redirects: [] ) (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: {(DQ )} ) ] redirects: [] ) (command.ControlFlow keyword: < Id.ControlFlow_Break break > arg_word: {<2>} ) ] spids: [39120 39156] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [39039 39051] ) ] 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: [39248 39260] ) ] 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: [39189 39201] ) ] 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 '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: { (DQ ($ Id.VSub_DollarName newdeplibs) <' '> ($ Id.VSub_DollarName a_deplib) ) } ) ] redirects: [] ) ] 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: {(DQ )} ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName allow_libtool_libs_with_static_runtimes ) ) } {<Id.Lit_Equals '='>} {(DQ <Xyes>)} ] 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: [39370 39387] ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName deplibs_check_method ) ) } {<Id.Lit_Equals '='>} {(DQ <Xnone>)} ] 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: [39458 39474] ) ] 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>} {(DQ ($ Id.VSub_DollarName droppeddeps))} {<Id.Lit_Equals '='>} {<yes>} ] 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 module))} {<Id.Lit_Equals '='>} {<yes>} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'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 <'*** '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'nm\' from GNU binutils and a full rebuild may help.'> ) } ] redirects: [] do_fork: T ) ] spids: [39663 39674] ) ] 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_DollarName build_old_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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) ) } ) ] 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: [39715 39728] ) ] 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: [39614 39627] ) ] 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>} { (DQ ($ Id.VSub_DollarName allow_undefined) ) } {<Id.Lit_Equals '='>} {<no>} ] 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>} { (DQ ($ Id.VSub_DollarName build_old_libs ) ) } {<Id.Lit_Equals '='>} {<no>} ] 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) ) } ) ] 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: [39831 39844] ) ] 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: [39784 39797] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [39598 39611] ) ] 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: [37180 37193] ) ] 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.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 new_libs) <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) ) } ) ] 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.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.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 new_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] 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.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 new_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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 hardcode_into_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: {(DQ ($ Id.VSub_DollarName finalize_rpath))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<relink>} ] 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: { (DQ ($ Id.VSub_DollarName compile_rpath) ($ Id.VSub_DollarName rpath) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (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.If if_kw: <Id.KW_If 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: { (DQ ($ Id.VSub_DollarName libdir ) ) } ) ] redirects: [] ) ] spids: [40319 40330] ) ] 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.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: { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ($ Id.VSub_DollarName hardcode_libdir_separator) ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40305 40316] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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.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: { (DQ ($ Id.VSub_DollarName dep_rpath) <' '> ($ Id.VSub_DollarName flag) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40291 40302] ) (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.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: { (DQ ($ Id.VSub_DollarName perm_rpath ) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [40413 40424] ) ] 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: {(DQ ($ Id.VSub_DollarName hardcode_libdirs))} ) ] 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_ld ) ) } ] 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 <'dep_rpath='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName hardcode_libdir_flag_spec_ld) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] spids: [40506 40517] ) ] else_kw: <Id.KW_Else else> else_action: [ (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 ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40475 40497] ) ] 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.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: { (DQ ($ Id.VSub_DollarName rpath) ($ Id.VSub_DollarName dir) <':'> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {($ Id.VSub_DollarName runpath_var) <Id.Lit_Equals '='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <rpath> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_DollarName runpath_var) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {($ Id.VSub_DollarName runpath_var)}] redirects: [] do_fork: T ) ] spids: [40549 40570] ) ] 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: [40227 40240] ) ] 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: {(DQ ($ Id.VSub_DollarName finalize_shlibpath))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<relink>} ] 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: { (DQ ($ Id.VSub_DollarName compile_shlibpath) ($ Id.VSub_DollarName shlibpath) ) } ) ] 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>} {<-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>} {($ Id.VSub_DollarName shlibpath_var) <Id.Lit_Equals '='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <shlibpath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName shlibpath_var) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {($ Id.VSub_DollarName shlibpath_var)}] redirects: [] do_fork: T ) ] spids: [40669 40680] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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>} { (DQ <'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: {(DQ ($ 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>} { (DQ <'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: [40746 40757] ) ] 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: {(DQ ($ 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: [40782 40793] ) ] 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: { (DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName linknames) <' '> ($ Id.VSub_DollarName link) ) } ) ] redirects: [] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.uexp> ) } ) ] redirects: [] ) (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: { (DQ ($ Id.VSub_DollarName delfiles) <' '> ($ Id.VSub_DollarName export_symbols) ) } ) ] redirects: [] ) ] spids: [40899 40920] ) ] 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.If if_kw: <Id.KW_If 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> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.VSub_DollarName '$SED' > more_env: [] words: [ { ($ Id.VSub_DollarName SED ) } {<1q>} { ($ Id.VSub_DollarName export_symbols ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<xEXPORTS>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (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: { (DQ ($ 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: [] ) ] spids: [41015 41038] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40987 41008] ) ] 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>} { (DQ ($ Id.VSub_DollarName always_export_symbols ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: { (DQ ($ 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName save_ifs))} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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.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: [] ) (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.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: [41219 41246] ) ] 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: {(DQ ($ 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>} { (DQ <X> ($ Id.VSub_DollarName skipped_export ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='> } {(DQ <'X:'>)} ] 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: [41305 41332] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41109 41132] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [41095 41106] ) ] 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: {(DQ ($ 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: {(DQ ($ 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.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName include_expsyms))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName tmp_export_symbols))} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [41359 41380] ) ] 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>} {(DQ <X> ($ Id.VSub_DollarName skipped_export))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'X:'>)} ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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.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: { (DQ ($ Id.VSub_DollarName delfiles) <' '> ($ Id.VSub_DollarName export_symbols) <' '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> ) } ) ] 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: {($ 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: [41430 41457] ) ] 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.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 tmp_deplibs) <' '> ($ Id.VSub_DollarName test_deplib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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>} { (DQ ($ Id.VSub_DollarName compiler_needs_object ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: [41644 41679] ) ] 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>} { (DQ <'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: [41696 41707] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName generated) <' '> ($ Id.VSub_DollarName gentop) ) } ) ] redirects: [] ) (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 '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: { (DQ ($ Id.VSub_DollarName libobjs) <' '> ($ Id.VSub_DollarName func_extract_archives_result ) ) } ) ] redirects: [] ) (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: [41630 41641] ) ] 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>} {(DQ ($ Id.VSub_DollarName thread_safe))} {<Id.Lit_Equals '='>} {<yes>} ] 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>} { (DQ <'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.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: { (DQ ($ Id.VSub_DollarName linker_flags) <' '> ($ Id.VSub_DollarName flag) ) } ) ] redirects: [] ) ] spids: [41807 41830] ) ] 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_DollarName mode))} {<Id.Lit_Equals '='>} {<relink>} ] 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.Subshell left: <Id.Op_LParen _> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {($ Id.VSub_DollarName output_objdir)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {(${ Id.VSub_Name realname) <U>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} {($ Id.VSub_DollarName realname)} {(${ Id.VSub_Name realname) <U>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) right: <Id.Right_Subshell _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) ] spids: [41859 41872] ) ] 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>} {(DQ ($ Id.VSub_DollarName module))} {<Id.Lit_Equals '='>} {<yes>} ] 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>} { (DQ <'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: [41947 41968] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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: [41920 41944] ) ] 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>} { (DQ <'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: [42008 42029] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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>} {(DQ <X> ($ Id.VSub_DollarName skipped_export))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'X:'>)} ] 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: [42070 42130] ) ] 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: [42184 42205] ) ] 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>} { (DQ <X> ($ Id.VSub_DollarName skipped_export) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'X:'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName with_gnu_ld))} {<Id.Lit_Equals '='>} {<yes>} ] 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_Name output_objdir) <'/'> (${ Id.VSub_Name 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: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName obj))} ] 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.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: { (DQ ($ Id.VSub_DollarName delfiles) <' '> ($ Id.VSub_DollarName output) ) } ) ] redirects: [] ) ] spids: [42256 42295] ) (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>} { (DQ <X> ($ Id.VSub_DollarName skipped_export) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'X:'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ <X> ($ Id.VSub_DollarName file_list_spec) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<X>} ] 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_Name output_objdir) <'/'> (${ Id.VSub_Name 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>} { (DQ ($ Id.VSub_DollarName compiler_needs_object ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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: [42456 42469] ) ] 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: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} {(DQ ($ Id.VSub_DollarName obj))} ] 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.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: { (DQ ($ Id.VSub_DollarName delfiles) <' '> ($ 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 firstobj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName file_list_spec) ($ Id.VSub_DollarName output) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } ) ] redirects: [] ) ] spids: [42373 42414] ) ] 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_Name k) <.> ($ Id.VSub_DollarName objext) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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>} { (DQ <X> ($ Id.VSub_DollarName objlist ) ) } {<Id.Lit_Equals '='>} {<X>} ] 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: [42623 42652] ) ] 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>} { (DQ ($ Id.VSub_DollarName k ) ) } {<-eq>} {<1>} ] 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>} { (DQ <'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: [42676 42690] ) ] 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>} { (DQ <'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:'$') <'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_Name 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_Name 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>} { (DQ <'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>} { (DQ <'concat_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: '$' ) <'RM '> ($ Id.VSub_DollarName last_robj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] spids: [42867 42878] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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: { (DQ ($ Id.VSub_DollarName delfiles) <' '> ($ Id.VSub_DollarName output) ) } ) ] redirects: [] ) ] spids: [42526 42537] ) ] 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.If 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.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 ) 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: { (DQ ($ 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>} { (DQ <'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>} { (DQ <'concat_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: '$' ) <'RM '> ($ Id.VSub_DollarName last_robj) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) ] spids: [42992 43003] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [42917 42926] ) ] 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 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName save_ifs))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_silent'> more_env: [] words: [{($ Id.VSub_DollarName opt_silent)}] 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>} { (DQ ($ Id.VSub_DollarName mode ) ) } {<Id.Lit_Equals '='>} {<relink>} ] 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: [43130 43143] ) ] 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: {(DQ ($ 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: [43209 43228] ) ] else_action: [] 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: <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 ) 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 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: {(DQ ($ 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: { (DQ ($ 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.Pipeline children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$ECHO'> more_env: [] words: [ {($ Id.VSub_DollarName ECHO)} { (DQ ($ Id.VSub_DollarName include_expsyms) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$SP2NL'> more_env: [] words: [{($ Id.VSub_DollarName SP2NL)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { (DQ ($ Id.VSub_DollarName tmp_export_symbols ) ) } ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [43264 43285] ) ] 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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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.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: { (DQ ($ Id.VSub_DollarName delfiles) <' '> ($ Id.VSub_DollarName export_symbols) <' '> ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName libname) <.filter> ) } ) ] 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: {($ 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: [43335 43346] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [43252 43261] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> 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 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>} { (DQ <'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: [43469 43490] ) ] 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>} {(DQ ($ Id.VSub_DollarName module))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [43566 43587] ) ] 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: [43539 43563] ) ] 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: [43607 43628] ) ] 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>} { (DQ <'cmds='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'cmds~'> (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: [43652 43663] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName generated) <' '> ($ Id.VSub_DollarName gentop) ) } ) ] redirects: [] ) (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.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: { (DQ ($ Id.VSub_DollarName libobjs) <' '> ($ Id.VSub_DollarName func_extract_archives_result) ) } ) ] redirects: [] ) (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: [43692 43703] ) ] 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName save_ifs))} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$opt_silent'> more_env: [] words: [{($ Id.VSub_DollarName opt_silent)}] 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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<relink>} ] 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: [43852 43865] ) ] 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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<relink>} ] 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.Subshell left: <Id.Op_LParen _> child: (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {($ Id.VSub_DollarName output_objdir)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$RM'> more_env: [] words: [ {($ Id.VSub_DollarName RM)} {(${ Id.VSub_Name realname) <T>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} {($ Id.VSub_DollarName realname)} {(${ Id.VSub_Name realname) <T>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$MV'> more_env: [] words: [ {($ Id.VSub_DollarName MV)} {(${ Id.VSub_Name realname) <U>} {($ Id.VSub_DollarName realname)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DAmp _>] ) right: <Id.Right_Subshell _> redirects: [] ) (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: [44014 44025] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [44000 44011] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [43935 43948] ) ] 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: [44067 44083] ) ] 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>} {(DQ ($ Id.VSub_DollarName module))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName export_dynamic))} {<Id.Lit_Equals '='>} {<yes>} ] 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: {(DQ ($ Id.VSub_DollarName soname))} ) ] redirects: [] ) ] spids: [44108 44133] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [40211 40224] ) ] 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>} {(DQ ($ Id.VSub_DollarName dlself))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-dlopen\' is ignored for objects'> ) } ] redirects: [] do_fork: T ) ] spids: [44160 44185] ) ] 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'-l\' and '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ 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: {(DQ ($ 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.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: [] ) (command.If if_kw: <Id.KW_If 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>} { (DQ <'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.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: ' ' ) (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: [] ) ] spids: [44466 44477] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name obj) <x> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName generated) <' '> ($ Id.VSub_DollarName gentop) ) } ) ] redirects: [] ) (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: [44452 44463] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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 objs) ($ Id.VSub_DollarName old_deplibs) <' '>) (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_Name 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 '`'> ) (DQ <' '> ($ 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: {(DQ ($ 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: [44654 44665] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [44640 44651] ) ] 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_DollarName build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] 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: [44705 44716] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [44688 44702] ) ] 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 pic_flag))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName pic_mode))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<default>} ] 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: {(DQ ($ 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: [44755 44779] ) ] 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: [44815 44826] ) ] 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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-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 (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'-release\' is ignored for programs'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName preload))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName dlopen_support))} {<Id.Lit_Equals '='>} {<unknown>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName dlopen_self))} {<Id.Lit_Equals '='>} {<unknown>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName dlopen_self_static))} {<Id.Lit_Equals '='>} {<unknown>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <func_warning> more_env: [] words: [ {<func_warning>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') <'LT_INIT([dlopen])\' not used. Assuming no dlopen support.'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <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>} {(DQ ($ Id.VSub_DollarName tagname))} {<Id.Lit_Equals '='>} {<CXX>} ] 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.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 compile_command) <' '> (${ Id.VSub_Name wl) <-bind_at_load> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName finalize_command) <' '> (${ Id.VSub_Name wl) <-bind_at_load> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [45096 45110] ) ] 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.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 new_libs) <' -L'> ($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName objdir) ) } ) ] 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.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.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 new_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] 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.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 new_libs) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ Id.VSub_DollarName new_libs))} ) ] 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: { (DQ ($ Id.VSub_DollarName compile_command) <' '> ($ Id.VSub_DollarName compile_deplibs) ) } ) ] 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: { (DQ ($ Id.VSub_DollarName finalize_command) <' '> ($ Id.VSub_DollarName finalize_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 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.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: { (DQ ($ Id.VSub_DollarName finalize_rpath) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [45437 45449] ) ] 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: {(DQ ($ Id.VSub_DollarName libdir))} ) ] redirects: [] ) ] spids: [45571 45582] ) ] 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.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: { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ($ Id.VSub_DollarName hardcode_libdir_separator) ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [45557 45568] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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.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: { (DQ ($ Id.VSub_DollarName rpath) <' '> ($ Id.VSub_DollarName flag) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [45543 45554] ) (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.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: { (DQ ($ Id.VSub_DollarName perm_rpath) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [45665 45676] ) ] 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.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name ECHO)} {(DQ ($ Id.VSub_DollarName libdir))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name 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.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: { (DQ ($ Id.VSub_DollarName dllsearchpath) <':'> ($ Id.VSub_DollarName libdir) ) } ) ] 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.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.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: { (DQ ($ Id.VSub_DollarName dllsearchpath) <':'> ($ Id.VSub_DollarName testbindir) ) } ) ] 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.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: {(DQ ($ Id.VSub_DollarName hardcode_libdirs))} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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: [45894 45916] ) ] 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: {(DQ ($ 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: {(DQ ($ Id.VSub_DollarName libdir))} ) ] redirects: [] ) ] spids: [45992 46003] ) ] 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.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: { (DQ ($ Id.VSub_DollarName hardcode_libdirs ) ($ Id.VSub_DollarName hardcode_libdir_separator) ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [45978 45989] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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.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: { (DQ ($ Id.VSub_DollarName rpath) <' '> ($ Id.VSub_DollarName flag) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [45964 45975] ) (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.ShAssignment left: <Id.Lit_VarLike 'finalize_perm_rpath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'finalize_perm_rpath='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'finalize_perm_rpath='> name: finalize_perm_rpath ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName finalize_perm_rpath) <' '> ($ Id.VSub_DollarName libdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [46086 46097] ) ] 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: {(DQ ($ Id.VSub_DollarName hardcode_libdirs))} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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: [46148 46170] ) ] 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: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [46200 46223] ) ] 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@'>)} {(DQ <no>)} ] 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: [46310 46321] ) ] 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: {<yes>} ) ] 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: {<no>} ) ] 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.If if_kw: <Id.KW_If 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 build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) 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: {<no>} ) ] redirects: [] ) ] spids: [46386 46400] ) ] 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.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName need_relink))} {<Id.Lit_Equals '='>} {<no>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>} ] 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: {<no>} ) ] redirects: [] ) ] spids: [46417 46443] ) ] 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>} {(DQ ($ Id.VSub_DollarName wrappers_required))} {<Id.Lit_Equals '='>} {<no>} ] 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)} {(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: { (DQ ($ 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>} {<-f>} { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <S.> (${ Id.VSub_Name 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: [46537 46556] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName exit_status)} ) ] spids: [46459 46472] ) ] 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 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: [46579 46591] ) ] 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: [46612 46623] ) ] 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.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: { (DQ ($ Id.VSub_DollarName rpath) ($ Id.VSub_DollarName dir) <':'> ) } ) ] redirects: [] ) ] 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: [46664 46675] ) ] 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.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: { (DQ ($ Id.VSub_DollarName rpath) ($ Id.VSub_DollarName dir) <':'> ) } ) ] redirects: [] ) ] 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: [46724 46735] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [46650 46661] ) ] 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_DollarName no_install))} {<Id.Lit_Equals '='>} {<yes>} ] 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: { (DQ ($ 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.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName EXIT_SUCCESS)} ) ] spids: [46788 46801] ) ] 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_DollarName hardcode_action))} {<Id.Lit_Equals '='>} {<relink>} ] 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: { (DQ ($ 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: { (DQ ($ 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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) ($ Id.VSub_DollarName output) <'\' will be relinked during installation'> ) } ] redirects: [] do_fork: T ) ] spids: [46883 46896] ) ] 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>} {(DQ ($ Id.VSub_DollarName fast_install))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} ] 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: { (DQ ($ Id.VSub_DollarName finalize_var) ($ Id.VSub_DollarName compile_command) ($ Id.VSub_DollarName finalize_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.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName fast_install))} {<Id.Lit_Equals '='>} {<yes>} ] 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 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: [] ) ] spids: [46964 46977] ) ] 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: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [46939 46953] ) ] else_kw: <Id.KW_Else else> else_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: { (DQ ($ 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: { (DQ ($ Id.VSub_DollarName finalize_var) ($ Id.VSub_DollarName finalize_command) ($ Id.VSub_DollarName finalize_rpath) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> 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.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: [47159 47177] ) (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: [47202 47220] ) ] 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: [47129 47140] ) ] 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: { (DQ ($ 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: { (DQ ($ 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: [47586 47604] ) ] 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.If if_kw: <Id.KW_If 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 build_libtool_libs))} {<Id.Lit_Equals '='>} {<convenience>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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: {(DQ ($ 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: [] ) ] spids: [47720 47733] ) ] 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<module>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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))} ) ] 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: [] ) ] spids: [47757 47770] ) ] 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: { (DQ ($ Id.VSub_DollarName old_deplibs) <' '> ($ Id.VSub_DollarName non_pic_objects) ) } ) ] 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 preload))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName symfileobj))} ] 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 '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 oldobjs) <' '> ($ Id.VSub_DollarName symfileobj) ) } ) ] redirects: [] ) ] spids: [47794 47817] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> 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: {(DQ ($ Id.VSub_DollarName old_convenience))} ) ] 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 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName generated) <' '> ($ Id.VSub_DollarName gentop) ) } ) ] redirects: [] ) (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.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 oldobjs) <' '> ($ Id.VSub_DollarName func_extract_archives_result) ) } ) ] redirects: [] ) ] spids: [47844 47855] ) ] 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>} {(DQ ($ Id.VSub_DollarName build_libtool_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [47901 47924] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName generated) <' '> ($ Id.VSub_DollarName gentop) ) } ) ] redirects: [] ) (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.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 oldobjs) <' '> ($ Id.VSub_DollarName func_extract_archives_result) ) } ) ] redirects: [] ) ] spids: [47939 47950] ) ] 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: [48016 48065] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> (${ Id.VSub_Name outputname) <x> ) } ) ] 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: { (DQ ($ Id.VSub_DollarName generated) <' '> ($ Id.VSub_DollarName gentop) ) } ) ] redirects: [] ) (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: {(DQ ($ 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: [48243 48258] ) ] 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.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 oldobjs) <' '> ($ Id.VSub_DollarName gentop) <'/'> ($ Id.VSub_DollarName newobj) ) } ) ] 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 oldobjs) <' '> ($ Id.VSub_DollarName obj) ) } ) ] redirects: [] ) ] 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: <eval> more_env: [] words: [ {<eval>} { (DQ <'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: [48350 48377] ) ] 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>} { (DQ <'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: [48511 48526] ) ] 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: [48543 48559] ) ] 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>} { (DQ <'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>} {(DQ <X> ($ Id.VSub_DollarName oldobjs))} {<Id.Lit_Equals '='>} {(DQ <X>)} ] 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 <'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: [48617 48634] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'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: '$' ) <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>} {(DQ ($ Id.VSub_DollarName build_old_libs))} {<Id.Lit_Equals '='>} {<yes>} ] 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: { (DQ ($ 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: [48776 48794] ) (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: [48819 48837] ) ] 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) <' '> ($ Id.VSub_DollarName progpath) <' '> ($ 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>} {(DQ ($ Id.VSub_DollarName hardcode_automatic))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [48922 48936] ) ] 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>} {(DQ ($ Id.VSub_DollarName installed))} {<Id.Lit_Equals '='>} {<yes>} ] 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: [48987 48998] ) ] 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: { (DQ ($ Id.VSub_DollarName output_objdir) <'/'> ($ Id.VSub_DollarName 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: { (DQ ($ Id.VSub_DollarName func_basename_result ) ) } ) ] 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: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${' > more_env: [] words: [ {(${ Id.VSub_Name SED)} {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName deplib ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`' > ch: '`' ) ($ Id.VSub_DollarName deplib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] 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 newdependency_libs ) <' '> ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName name) ) } ) ] 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 '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 newdependency_libs ) <' '> ($ Id.VSub_DollarName deplib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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: { (DQ ($ Id.VSub_DollarName func_basename_result ) ) } ) ] 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: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${' > more_env: [] words: [ {(${ Id.VSub_Name SED)} {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName lib ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`' > ch: '`' ) ($ Id.VSub_DollarName lib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (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: { (DQ ($ Id.VSub_DollarName newdlfiles ) <' '> ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName name) ) } ) ] 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 '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: { (DQ ($ Id.VSub_DollarName newdlfiles ) <' '> ($ Id.VSub_DollarName lib) ) } ) ] redirects: [] ) ] 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: {(DQ ($ 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: { (DQ ($ Id.VSub_DollarName func_basename_result ) ) } ) ] 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: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${' > more_env: [] words: [ {(${ Id.VSub_Name SED)} {<-n>} {<-e>} { (SQ < 's/^libdir=\\(.*\\)$/\\1/p' > ) } { ($ Id.VSub_DollarName lib ) } ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (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 (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`' > ch: '`' ) ($ Id.VSub_DollarName lib) <'\' is not a valid libtool archive'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (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: { (DQ ($ Id.VSub_DollarName newdlprefiles ) <' '> ($ Id.VSub_DollarName libdir) <'/'> ($ Id.VSub_DollarName name) ) } ) ] redirects: [] ) ] 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: {(DQ ($ Id.VSub_DollarName newdlprefiles))} ) ] redirects: [] ) ] spids: [48971 48984] ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName newdlfiles) <' '> ($ Id.VSub_DollarName abs) ) } ) ] 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: {(DQ ($ 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName newdlprefiles) <' '> ($ Id.VSub_DollarName abs) ) } ) ] 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: {(DQ ($ 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>} { (DQ <x> ($ Id.VSub_DollarName bindir) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<x>} ] 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: [49689 49706] ) ] 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 TIMESTAMP) <') '> ($ 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 can not 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.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName installed))} {<Id.Lit_Equals '='>} {<no>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName need_relink))} {<Id.Lit_Equals '='>} {<yes>} ] 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 <'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: [49837 49862] ) ] 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.AndOr children: [ (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 mode))} {<Id.Lit_Equals '='>} {<link>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<relink>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (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 ) ] ops: [<Id.Op_DAmp _>] ) (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 '$opt_debug'> more_env: [] words: [{($ Id.VSub_DollarName opt_debug)}] 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: {(DQ ($ 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: (rhs_word__Empty) ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName arg) ) } ) ] redirects: [] ) 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: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (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: {(DQ ($ Id.VSub_DollarName RM) <' '> ($ Id.VSub_DollarName arg))} ) ] 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 '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: { (DQ ($ Id.VSub_DollarName files) <' '> ($ Id.VSub_DollarName arg)) } ) ] redirects: [] ) ] 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.ShAssignment left: <Id.Lit_VarLike 'origobjdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'origobjdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'origobjdir='> name:origobjdir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName objdir))} ) ] 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: {(DQ ($ 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>} {(DQ <X> ($ Id.VSub_DollarName dir))} {<Id.Lit_Equals '='>} {<X.>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'objdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objdir='> name:objdir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName origobjdir))} ) ] redirects: [] ) ] spids: [50138 50152] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'objdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objdir='> name:objdir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName origobjdir) ) } ) ] 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: {(DQ ($ Id.VSub_DollarName func_basename_result))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<uninstall>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'objdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objdir='> name:objdir) op: assign_op.Equal rhs: {(DQ ($ 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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<clean>} ] 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 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.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: { (DQ ($ Id.VSub_DollarName rmdirs) <' '> ($ Id.VSub_DollarName objdir) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [50211 50224] ) ] 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: [50274 50329] ) (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: [50335 50346] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName rmforce))} {<Id.Lit_Equals '='>} {<yes>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] spids: [50356 50369] ) ] 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: {(DQ ($ 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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName n) ) } ) ] 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_library))} ] redirects: [] do_fork: T ) (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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName old_library) ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName 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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName dlname) ) } ) ] 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 libdir))} ] redirects: [] do_fork: T ) (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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName name) <' '> ($ Id.VSub_DollarName objdir) <'/'> (${ Id.VSub_Name name) <i> ) } ) ] redirects: [] ) ] 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 < 'test "$rmforce" = yes || exit_status=1' > ) } ] redirects: [] do_fork: T ) ] spids: [50564 50575] ) ] 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 < 'test "$rmforce" = yes || exit_status=1' > ) } ] redirects: [] do_fork: T ) ] spids: [50597 50608] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [50402 50411] ) ] 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>} {(DQ ($ Id.VSub_DollarName pic_object))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>} ] 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 '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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName pic_object) ) } ) ] redirects: [] ) ] spids: [50684 50709] ) ] 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>} { (DQ ($ Id.VSub_DollarName non_pic_object) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>} ] 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 '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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName dir) <'/'> ($ Id.VSub_DollarName non_pic_object) ) } ) ] redirects: [] ) ] spids: [50730 50755] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50655 50664] ) ] 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>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<clean>} ] 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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ 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_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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName func_ltwrapper_scriptname_result ) ) } ) ] redirects: [] ) ] spids: [50889 50898] ) ] 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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/'> ($ Id.VSub_DollarName name) <' '> ($ Id.VSub_DollarName objdir) <'/'> (${ Id.VSub_Name name) <S.> (${ Id.VSub_Name objext) ) } ) ] 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 fast_install ) ) } {<Id.Lit_Equals '='>} {<yes>} ] 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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/lt-'> ($ Id.VSub_DollarName name) ) } ) ] redirects: [] ) ] spids: [50969 50992] ) ] 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.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: { (DQ ($ Id.VSub_DollarName rmfiles) <' '> ($ Id.VSub_DollarName objdir) <'/lt-'> (${ Id.VSub_Name noexename) <.c> ) } ) ] redirects: [] ) ] spids: [51008 51027] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50877 50886] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [50782 50796] ) ] 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.ShAssignment left: <Id.Lit_VarLike 'objdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objdir='> name:objdir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName origobjdir))} ) ] 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: [51097 51108] ) ] 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.AndOr children: [ (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 mode))} {<Id.Lit_Equals '='>} {<uninstall>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {(DQ ($ Id.VSub_DollarName mode))} {<Id.Lit_Equals '='>} {<clean>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (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 ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName 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: {(DQ ($ 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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'> ch:'`') ($ Id.VSub_DollarName 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: [51225 51236] ) ] 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: [] ) ] )