(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROGRAM) op:Equal rhs:{(libtool)} spids:[227])]
      spids: [227]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PACKAGE) op:Equal rhs:{(libtool)} spids:[230])]
      spids: [230]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(2.2.7a)} spids:[233])]
      spids: [233]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TIMESTAMP)
          op: Equal
          rhs: {(DQ (' 1.3134 2009-11-29'))}
          spids: [236]
        )
      ]
      spids: [236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(1.3134)} spids:[241])]
      spids: [241]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(-n)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name ZSH_VERSION>
                            suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                            spids: [255 259]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [270]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [273]
                        )
                      ]
                      spids: [264 268]
                    )
                  ]
                  op_id: Op_DAmp
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(emulate)} {(sh)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NULLCMD)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [285]
                )
              ]
              spids: [285]
            )
            (C {(alias)} {(-g)} {(SQ <'${1+"$@"}'>) (Lit_Other '=') (SQ <'"$@"'>)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [-1 277]
        )
      ]
      else_action: [
        (Case
          to_match: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Subshell
                        child: (C {(set)} {(-o)})
                        redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[326])]
                        spids: [320 324]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [319 328]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other '*') (posix) (Lit_Other '*')}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [332 335 342 -1]
            )
          ]
          spids: [317 330 344]
        )
      ]
      spids: [314 346]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BIN_SH) op:Equal rhs:{(xpg4)} spids:[348])]
          spids: [348]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(BIN_SH)})
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:DUALCASE) op:Equal rhs:{(1)} spids:[359])]
          spids: [359]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(DUALCASE)})
    (FuncDef
      name: func_fallback_echo
      body: 
        (BraceGroup
          children: [(C {(eval)} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)})]
          spids: [379]
        )
      spids: [374 378]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_user_locale) op:Equal rhs:{(SQ )} spids:[405])]
      spids: [405]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_safe_locale) op:Equal rhs:{(SQ )} spids:[407])]
      spids: [407]
    )
    (ForEach
      iter_name: lt_var
      iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$lt_var') ('+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (' = set; then\n') ('          save_') ($ VSub_Name '$lt_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ($ VSub_Name '$lt_var') ('\n') ('          ') ($ VSub_Name '$lt_var') ('=C\n') ('\t  export ') ($ VSub_Name '$lt_var') ('\n') 
                  ('\t  lt_user_locale=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$lt_var') ('=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (save_) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('lt_var; ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_user_locale) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\t  lt_safe_locale=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$lt_var') ('=C; ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_safe_locale) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\tfi')
                )
              }
            )
          ]
          spids: [427 477]
        )
      spids: [414 -1]
    )
    (C {($ VSub_Name '$lt_unset')} {(CDPATH)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progpath)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$0'))}
          spids: [506]
        )
      ]
      spids: [506]
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('cp -f'))})
          spids: [516 522]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name ECHO>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{($ VSub_Name '$as_echo')})
          spids: [526 530]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('/bin/grep -E'))})
          spids: [534 540]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('/bin/grep -F'))})
          spids: [544 550]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name GREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (/bin/grep))})
          spids: [554 560]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('ln -s'))})
          spids: [564 570]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [574 580]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [584 590]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('mv -f'))})
          spids: [594 600]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('rm -f'))})
          spids: [604 610]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name SED>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: {(DQ (/mount/endor/wildenhu/local-x86_64/bin/sed))}
            )
          spids: [614 620]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name SHELL>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: 
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name CONFIG_SHELL>
                      suffix_op: 
                        (StringUnary
                          op_id: VTest_Hyphen
                          arg_word: {(Lit_Slash /) (bin) (Lit_Slash /) (sh)}
                        )
                      spids: [628 635]
                    )
                  )
                }
            )
          spids: [624 637]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name Xsed>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: {(DQ ($ VSub_Name '$SED') (' -e 1s/^X//'))}
            )
          spids: [641 648]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[654])]
      spids: [654]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[657])]
      spids: [657]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[660])]
      spids: [660]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[666])]
      spids: [666]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name '$EXIT_SUCCESS')}
          spids: [673]
        )
      ]
      spids: [673]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_nl) op:Equal rhs:{(SQ <'\n'>)} spids:[680])]
      spids: [680]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ (' \t') ($ VSub_Name '$lt_nl'))}
          spids: [685]
        )
      ]
      spids: [685]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirname)
          op: Equal
          rhs: {(DQ ('s,/[^/]*') (Lit_Other '$') (',,'))}
          spids: [692]
        )
      ]
      spids: [692]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(DQ ('s,^.*/,,'))} spids:[699])]
      spids: [699]
    )
    (FuncDef
      name: func_dirname_and_basename
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_dirname_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ (${ VSub_Number 1))})
                                  (C {($ VSub_Name '$SED')} {(-e)} {(DQ ($ VSub_Name '$dirname'))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [754 772]
                      )
                    }
                  spids: [753]
                )
              ]
              spids: [753]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (X) ($ VSub_Name '$func_dirname_result'))} {(Lit_Other '=')} 
                          {(DQ (X) (${ VSub_Number 1))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_dirname_result)
                          op: Equal
                          rhs: {(DQ (${ VSub_Number 3))}
                          spids: [797]
                        )
                      ]
                      spids: [797]
                    )
                  ]
                  spids: [-1 794]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_dirname_result)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_dirname_result') (${ VSub_Number 2))}
                      spids: [808]
                    )
                  ]
                  spids: [808]
                )
              ]
              spids: [805 817]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_basename_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ (${ VSub_Number 1))})
                                  (C {($ VSub_Name '$SED')} {(-e)} {(DQ ($ VSub_Name '$basename'))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [821 839]
                      )
                    }
                  spids: [820]
                )
              ]
              spids: [820]
            )
          ]
          spids: [746]
        )
      spids: [741 745]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcar)
          op: Equal
          rhs: {(SQ <'s,^/\\([^/]*\\).*$,\\1,'>)}
          spids: [851]
        )
      ]
      spids: [851]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcdr)
          op: Equal
          rhs: {(SQ <'s,^/[^/]*,,'>)}
          spids: [856]
        )
      ]
      spids: [856]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:removedotparts)
          op: Equal
          rhs: {(SQ <':dotsl\n'> <'\t\ts@/\\./@/@g\n'> <'\t\tt dotsl\n'> <'\t\ts,/\\.$,/,'>)}
          spids: [861]
        )
      ]
      spids: [861]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:collapseslashes)
          op: Equal
          rhs: {(SQ <'s@/\\{1,\\}@/@g'>)}
          spids: [869]
        )
      ]
      spids: [869]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:finalslash)
          op: Equal
          rhs: {(SQ <'s,/*$,/,'>)}
          spids: [874]
        )
      ]
      spids: [874]
    )
    (FuncDef
      name: func_normal_abspath
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_result)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [907]
                )
              ]
              spids: [907]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [910]
                )
              ]
              spids: [910]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_altnamespace)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [914]
                )
              ]
              spids: [914]
            )
            (Case
              to_match: {($ VSub_Name '$func_normal_abspath_tpath')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [
                    (C {(func_stripname)} {(SQ )} {(SQ </>)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick '`'>
                            spids: [943 945]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [949]
                        )
                      ]
                      spids: [949]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 926 956 -1]
                )
                (case_arm pat_list:[{(///) (Lit_Other '*')}] spids:[971973980-1])
                (case_arm
                  pat_list: [{(//) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_altnamespace)
                          op: Equal
                          rhs: {(/)}
                          spids: [1000]
                        )
                      ]
                      spids: [1000]
                    )
                  ]
                  spids: [983 985 1004 -1]
                )
                (case_arm pat_list:[{(/) (Lit_Other '*')}] spids:[100710091016-1])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tpath)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(pwd)})])
                                left_token: <Left_Backtick '`'>
                                spids: [1028 1030]
                              ) (/) ($ VSub_Name '$func_normal_abspath_tpath')
                            }
                          spids: [1027]
                        )
                      ]
                      spids: [1027]
                    )
                  ]
                  spids: [1019 1020 1035 -1]
                )
              ]
              spids: [917 921 1038]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} 
                                    {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                  )
                                  (C {($ VSub_Name '$SED')} {(-e)} {(DQ ($ VSub_Name '$removedotparts'))} 
                                    {(-e)} {(DQ ($ VSub_Name '$collapseslashes'))} {(-e)} {(DQ ($ VSub_Name '$finalslash'))}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1054 1084]
                      )
                    }
                  spids: [1053]
                )
              ]
              spids: [1053]
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))} 
                                  {(Lit_Other '=')} {(/)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_normal_abspath_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_normal_abspath_result)
                                          op: Equal
                                          rhs: {(/)}
                                          spids: [1135]
                                        )
                                      ]
                                      spids: [1135]
                                    )
                                  ]
                                  spids: [-1 1132]
                                )
                              ]
                              spids: [-1 1139]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 1113]
                        )
                      ]
                      spids: [-1 1145]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tcomponent)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                          )
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(DQ ($ VSub_Name '$pathcar'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1149 1167]
                              )
                            }
                          spids: [1148]
                        )
                      ]
                      spids: [1148]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tpath)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                          )
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(DQ ($ VSub_Name '$pathcdr'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1171 1189]
                              )
                            }
                          spids: [1170]
                        )
                      ]
                      spids: [1170]
                    )
                    (Case
                      to_match: {($ VSub_Name '$func_normal_abspath_tcomponent')}
                      arms: [
                        (case_arm pat_list:[{(DQ )}] spids:[-112051212-1])
                        (case_arm
                          pat_list: [{(..)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$func_normal_abspath_result'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_normal_abspath_result)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [1230]
                                )
                              ]
                              spids: [1230]
                            )
                          ]
                          spids: [1215 1216 1234 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_normal_abspath_result)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$func_normal_abspath_result') (/) 
                                      ($ VSub_Name '$func_normal_abspath_tcomponent')
                                    }
                                  spids: [1245]
                                )
                              ]
                              spids: [1245]
                            )
                          ]
                          spids: [1237 1238 1251 -1]
                        )
                      ]
                      spids: [1196 1200 1254]
                    )
                  ]
                  spids: [1092 1257]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_result)
                  op: Equal
                  rhs: 
                    {($ VSub_Name '$func_normal_abspath_altnamespace') 
                      ($ VSub_Name '$func_normal_abspath_result')
                    }
                  spids: [1264]
                )
              ]
              spids: [1264]
            )
          ]
          spids: [900]
        )
      spids: [895 899]
    )
    (FuncDef
      name: func_relative_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_result)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [1294]
                )
              ]
              spids: [1294]
            )
            (C {(func_normal_abspath)} {(DQ ($ VSub_Number '$1'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_tlibdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_normal_abspath_result')}
                  spids: [1304]
                )
              ]
              spids: [1304]
            )
            (C {(func_normal_abspath)} {(DQ ($ VSub_Number '$2'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_tbindir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_normal_abspath_result')}
                  spids: [1315]
                )
              ]
              spids: [1315]
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$func_relative_path_tbindir')}
                      arms: [
                        (case_arm
                          pat_list: [{($ VSub_Name '$func_relative_path_tlibdir')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1351]
                                )
                              ]
                              spids: [1351]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1343 1344 1357 -1]
                        )
                        (case_arm
                          pat_list: [{($ VSub_Name '$func_relative_path_tlibdir') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(DQ ($ VSub_Name '$func_relative_path_tlibdir'))} {(SQ )} 
                              {(DQ ($ VSub_Name '$func_relative_path_tbindir'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [1383]
                                )
                              ]
                              spids: [1383]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_relative_path_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_result)
                                          op: Equal
                                          rhs: {(.)}
                                          spids: [1401]
                                        )
                                      ]
                                      spids: [1401]
                                    )
                                  ]
                                  spids: [-1 1398]
                                )
                              ]
                              spids: [-1 1405]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1360 1362 1411 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_dirname)} {($ VSub_Name '$func_relative_path_tlibdir')})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tlibdir)
                                  op: Equal
                                  rhs: {(${ VSub_Name func_dirname_result)}
                                  spids: [1423]
                                )
                              ]
                              spids: [1423]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} 
                                          {(DQ (x) ($ VSub_Name '$func_relative_path_tlibdir'))} {(Lit_Other '=')} {(x)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_result)
                                          op: Equal
                                          rhs: {(../) ($ VSub_Name '$func_relative_path_result')}
                                          spids: [1451]
                                        )
                                      ]
                                      spids: [1451]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_tcancelled)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_relative_path_tbindir')}
                                          spids: [1456]
                                        )
                                      ]
                                      spids: [1456]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [-1 1444]
                                )
                              ]
                              spids: [-1 1463]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_result)
                                  op: Equal
                                  rhs: {(../) ($ VSub_Name '$func_relative_path_result')}
                                  spids: [1466]
                                )
                              ]
                              spids: [1466]
                            )
                          ]
                          spids: [1414 1415 1471 -1]
                        )
                      ]
                      spids: [1336 1340 1474]
                    )
                  ]
                  spids: [1329 1477]
                )
            )
            (C {(func_stripname)} {(SQ )} {(SQ </>)} {(DQ ($ VSub_Name '$func_relative_path_result'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_stripname_result')}
                  spids: [1499]
                )
              ]
              spids: [1499]
            )
            (C {(func_stripname)} {(SQ </>)} {(SQ </>)} 
              {(DQ ($ VSub_Name '$func_relative_path_tcancelled'))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (x) ($ VSub_Name '$func_stripname_result'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(x)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_relative_path_result)
                          op: Equal
                          rhs: 
                            {(${ VSub_Name func_relative_path_result) (/) 
                              (${ VSub_Name func_stripname_result)
                            }
                          spids: [1537]
                        )
                      ]
                      spids: [1537]
                    )
                  ]
                  spids: [-1 1534]
                )
              ]
              spids: [-1 1547]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(KW_Bang '!')} {(-z)} 
                          {(DQ ($ VSub_Name '$func_relative_path_result'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(SQ <./>)} {(SQ )} 
                      {(DQ ($ VSub_Name '$func_relative_path_result') (/))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_relative_path_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [1594]
                        )
                      ]
                      spids: [1594]
                    )
                  ]
                  spids: [-1 1576]
                )
              ]
              spids: [-1 1598]
            )
          ]
          spids: [1291]
        )
      spids: [1286 1290]
    )
    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$progpath'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progname)
          op: Equal
          rhs: {($ VSub_Name '$func_basename_result')}
          spids: [1612]
        )
      ]
      spids: [1612]
    )
    (Case
      to_match: {($ VSub_Name '$progpath')}
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') 
              (Lit_Other '*')
            }
            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (Lit_Other '*')
            }
          ]
          spids: [1626 1638 1640 -1]
        )
        (case_arm
          pat_list: [
            {(Lit_Other '*') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
              (Lit_Other ']') (Lit_Other '*')
            }
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_dirname_result')}
                  spids: [1652]
                )
              ]
              spids: [1652]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [(C {(cd)} {(DQ ($ VSub_Name '$progdir'))}) (C {(pwd)})]
                                op_id: Op_DAmp
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1657 1667]
                      )
                    }
                  spids: [1656]
                )
              ]
              spids: [1656]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))}
                  spids: [1670]
                )
              ]
              spids: [1670]
            )
          ]
          spids: [1643 1649 1678 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:save_IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$IFS'))}
                  spids: [1685]
                )
              ]
              spids: [1685]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [1691]
                )
              ]
              spids: [1691]
            )
            (ForEach
              iter_name: progdir
              iter_words: [{($ VSub_Name '$PATH')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$save_IFS'))}
                          spids: [1707]
                        )
                      ]
                      spids: [1707]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [1704 1728]
                )
              spids: [1700 1702]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$save_IFS'))}
                  spids: [1731]
                )
              ]
              spids: [1731]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$progdir'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:progdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick '`'>
                            spids: [1748 1750]
                          )
                        }
                      spids: [1747]
                    )
                  ]
                  spids: [1747]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))}
                  spids: [1753]
                )
              ]
              spids: [1753]
            )
          ]
          spids: [1681 1682 1761 -1]
        )
      ]
      spids: [1619 1623 1763]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:Xsed)
          op: Equal
          rhs: {(DQ (${ VSub_Name SED)) (SQ <' -e 1s/^X//'>)}
          spids: [1772]
        )
      ]
      spids: [1772]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\([`"$\\\\]\\)/\\\\\\1/g'>)}
          spids: [1782]
        )
      ]
      spids: [1782]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:double_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)}
          spids: [1791]
        )
      ]
      spids: [1791]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs) op:Equal rhs:{(SQ <'\\\\'>)} spids:[1812])]
      spids: [1812]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs2) op:Equal rhs:{(SQ <'\\\\\\\\'>)} spids:[1817])]
      spids: [1817]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bs4)
          op: Equal
          rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)}
          spids: [1822]
        )
      ]
      spids: [1822]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dollar) op:Equal rhs:{(SQ <'\\$'>)} spids:[1827])]
      spids: [1827]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_double_backslash)
          op: Equal
          rhs: 
            {
              (DQ ('  s/') ($ VSub_Name '$bs4') ('/&') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('\n') ('/g\n') ('  s/^') ($ VSub_Name '$bs2') ($ VSub_Name '$dollar') (/) ($ VSub_Name '$bs') ('&/\n') 
                ('  s/') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('([^') ($ VSub_Name '$bs') (']') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (')') ($ VSub_Name '$bs2') ($ VSub_Name '$dollar') (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                (1) ($ VSub_Name '$bs2') ($ VSub_Name '$bs') ($ VSub_Name '$dollar') ('/g\n') ('  s/') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (//g)
              )
            }
          spids: [1832]
        )
      ]
      spids: [1832]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[1872])]
      spids: [1872]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[1875])]
      spids: [1875]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[1878])]
      spids: [1878]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[1881])]
      spids: [1881]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ':')}
          spids: [1884]
        )
      ]
      spids: [1884]
    )
    (FuncDef
      name: func_echo
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ($ VSub_Name '$progname') 
                  (BracedVarSub
                    token: <VSub_Name mode>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(': ')})
                    spids: [1909 1913]
                  ) ($ VSub_Name '$mode') (': ') ($ VSub_Star '$*')
                )
              }
            )
          ]
          spids: [1902]
        )
      spids: [1897 1901]
    )
    (FuncDef
      name: func_verbose
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_verbose')})
                (C {(func_echo)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                      spids: [1942 1948]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ':')})
          ]
          spids: [1933]
        )
      spids: [1928 1932]
    )
    (FuncDef
      name: func_echo_all
      body: 
        (BraceGroup
          children: [(C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Star '$*'))})]
          spids: [1980]
        )
      spids: [1975 1979]
    )
    (FuncDef
      name: func_error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$ECHO')}
                {
                  (DQ ($ VSub_Name '$progname') 
                    (BracedVarSub
                      token: <VSub_Name mode>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(': ')})
                      spids: [2010 2014]
                    ) ($ VSub_Name '$mode') (': ')
                  ) 
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                    spids: [2018 2024]
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2026])]
            )
          ]
          spids: [2003]
        )
      spids: [1998 2002]
    )
    (FuncDef
      name: func_warning
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_warning')})
                (SimpleCommand
                  words: [
                    {($ VSub_Name '$ECHO')}
                    {
                      (DQ ($ VSub_Name '$progname') 
                        (BracedVarSub
                          token: <VSub_Name mode>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(': ')})
                          spids: [2054 2058]
                        ) ($ VSub_Name '$mode') (': warning: ')
                      ) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                        spids: [2062 2068]
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2070])]
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ':')})
          ]
          spids: [2043]
        )
      spids: [2038 2042]
    )
    (FuncDef
      name: func_fatal_error
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [2100 2106]
                )
              }
            )
            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
          ]
          spids: [2095]
        )
      spids: [2090 2094]
    )
    (FuncDef
      name: func_fatal_help
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [2135 2141]
                )
              }
            )
            (C {(func_fatal_error)} {(DQ ($ VSub_Name '$help'))})
          ]
          spids: [2130]
        )
      spids: [2125 2129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:help)
          op: Equal
          rhs: 
            {
              (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$progname') 
                (" --help' for more information.")
              )
            }
          spids: [2152]
        )
      ]
      spids: [2152]
    )
    (FuncDef
      name: func_grep
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{($ VSub_Name '$GREP')} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))}]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2189])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[2192])
              ]
            )
          ]
          spids: [2176]
        )
      spids: [2171 2175]
    )
    (FuncDef
      name: func_mkdir_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_directory_path)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [2213]
                )
              ]
              spids: [2213]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dir_list) op:Equal rhs:{(SQ )} spids:[2219])]
              spids: [2219]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$my_directory_path'))})
                            (C {(test)} {(DQ ($ VSub_Name '$opt_dry_run'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ (':'))}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$my_directory_path')}
                      arms: [
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_directory_path)
                                  op: Equal
                                  rhs: {(DQ (./) ($ VSub_Name '$my_directory_path'))}
                                  spids: [2268]
                                )
                              ]
                              spids: [2268]
                            )
                          ]
                          spids: [2264 2266 2274 -1]
                        )
                      ]
                      spids: [2257 2261 2277]
                    )
                    (While
                      cond: [
                        (Sentence
                          child: 
                            (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$my_directory_path'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dir_list)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$my_directory_path') (':') 
                                        ($ VSub_Name '$my_dir_list')
                                      )
                                    }
                                  spids: [2309]
                                )
                              ]
                              spids: [2309]
                            )
                            (Case
                              to_match: {($ VSub_Name '$my_directory_path')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}]
                                  spids: [2328 2331 2333 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [2335 2336 2340 -1]
                                )
                              ]
                              spids: [2322 2326 2342]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_directory_path)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$my_directory_path'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$dirname'))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [2351 2367]
                                      )
                                    }
                                  spids: [2350]
                                )
                              ]
                              spids: [2350]
                            )
                          ]
                          spids: [2298 2370]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_dir_list)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$my_dir_list'))})
                                          (C {($ VSub_Name '$SED')} {(SQ <'s,:*$,,'>)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2374 2388]
                              )
                            }
                          spids: [2373]
                        )
                      ]
                      spids: [2373]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mkdir_p_IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                              spids: [2392]
                            )
                          ]
                          spids: [2392]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <':'>)}
                          spids: [2398]
                        )
                      ]
                      spids: [2398]
                    )
                    (ForEach
                      iter_name: my_dir
                      iter_words: [{($ VSub_Name '$my_dir_list')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_mkdir_p_IFS'))}
                                  spids: [2416]
                                )
                              ]
                              spids: [2416]
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [{($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$my_dir'))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [2440]
                                    )
                                  ]
                                )
                                (C {(Lit_Other ':')})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [2413 2448]
                        )
                      spids: [2409 2411]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$save_mkdir_p_IFS'))}
                          spids: [2451]
                        )
                      ]
                      spids: [2451]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-d)} {(DQ ($ VSub_Name '$my_directory_path'))})
                        (C {(func_fatal_error)} 
                          {
                            (DQ ('Failed to create ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ($ VSub_Number '$1') ("'")
                            )
                          }
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 2249]
                )
              ]
              spids: [-1 2484]
            )
          ]
          spids: [2210]
        )
      spids: [2205 2209]
    )
    (FuncDef
      name: func_mktempdir
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_template)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name TMPDIR>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(Lit_Slash /) (tmp)})
                          spids: [2512 2517]
                        ) (/) 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {($ VSub_Name '$progname')}
                            )
                          spids: [2519 2523]
                        )
                      )
                    }
                  spids: [2510]
                )
              ]
              spids: [2510]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$opt_dry_run'))} {(Lit_Other '=')} {(DQ (':'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_tmpdir)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name my_template) (-) ($ VSub_Dollar '$$'))}
                          spids: [2550]
                        )
                      ]
                      spids: [2550]
                    )
                  ]
                  spids: [-1 2543]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_tmpdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(mktemp)}
                                      {(-d)}
                                      {(DQ (${ VSub_Name my_template) (-XXXXXXXX))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [2581]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [2569 2583]
                          )
                        }
                      spids: [2568]
                    )
                  ]
                  spids: [2568]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$my_tmpdir'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:my_tmpdir)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (${ VSub_Name my_template) (-) 
                                    (BracedVarSub
                                      token: <VSub_Name RANDOM>
                                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(0)})
                                      spids: [2613 2617]
                                    ) ($ VSub_Dollar '$$')
                                  )
                                }
                              spids: [2607]
                            )
                          ]
                          spids: [2607]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mktempdir_umask)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(umask)})])
                                    left_token: <Left_Backtick '`'>
                                    spids: [2624 2626]
                                  )
                                }
                              spids: [2623]
                            )
                          ]
                          spids: [2623]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$my_tmpdir'))})
                        (C {(umask)} {($ VSub_Name '$save_mktempdir_umask')})
                      ]
                      spids: [-1 2600]
                    )
                  ]
                  spids: [-1 2646]
                )
                (AndOr
                  children: [
                    (C {(test)} {(-d)} {(DQ ($ VSub_Name '$my_tmpdir'))})
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('cannot create temporary directory ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$my_tmpdir') ("'")
                        )
                      }
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [2560 2676]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$my_tmpdir'))})
          ]
          spids: [2507]
        )
      spids: [2502 2506]
    )
    (FuncDef
      name: func_quote_for_eval
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_Other ']') (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_unquoted_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$SED')} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2735 2749]
                              )
                            }
                          spids: [2734]
                        )
                      ]
                      spids: [2734]
                    )
                  ]
                  spids: [2723 2731 2751 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_unquoted_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [2758]
                        )
                      ]
                      spids: [2758]
                    )
                  ]
                  spids: [2754 2755 2763 -1]
                )
              ]
              spids: [2716 2720 2766]
            )
            (Case
              to_match: {($ VSub_Name '$func_quote_for_eval_unquoted_result')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) (EscapedLiteralPart token:<Lit_EscapedChar '\\~'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\^'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\&'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\|'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\;'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\<'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\t'>) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                    {(Lit_Other '*') (Lit_Other ']') (Lit_Other '*')}
                    {(DQ )}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_result)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                ($ VSub_Name '$func_quote_for_eval_unquoted_result') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              )
                            }
                          spids: [2829]
                        )
                      ]
                      spids: [2829]
                    )
                  ]
                  spids: [2797 2826 2837 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_unquoted_result'))}
                          spids: [2844]
                        )
                      ]
                      spids: [2844]
                    )
                  ]
                  spids: [2840 2841 -1 2850]
                )
              ]
              spids: [2770 2774 2850]
            )
          ]
          spids: [2713]
        )
      spids: [2708 2712]
    )
    (FuncDef
      name: func_quote_for_expand
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(DQ ($ VSub_Name '$double_quote_subst'))} {(-e)} {(DQ ($ VSub_Name '$sed_double_backslash'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2891 2915]
                              )
                            }
                          spids: [2890]
                        )
                      ]
                      spids: [2890]
                    )
                  ]
                  spids: [2880 2887 2917 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [2924]
                        )
                      ]
                      spids: [2924]
                    )
                  ]
                  spids: [2920 2921 2929 -1]
                )
              ]
              spids: [2873 2877 2932]
            )
            (Case
              to_match: {($ VSub_Name '$my_arg')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) (EscapedLiteralPart token:<Lit_EscapedChar '\\~'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\^'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\&'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\|'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\;'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\<'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\t'>) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                    {(Lit_Other '*') (Lit_Other ']') (Lit_Other '*')}
                    {(DQ )}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                ($ VSub_Name '$my_arg') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              )
                            }
                          spids: [2991]
                        )
                      ]
                      spids: [2991]
                    )
                  ]
                  spids: [2959 2988 2999 -1]
                )
              ]
              spids: [2936 2940 3002]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$my_arg'))}
                  spids: [3006]
                )
              ]
              spids: [3006]
            )
          ]
          spids: [2870]
        )
      spids: [2865 2869]
    )
    (FuncDef
      name: func_show_eval
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [3035]
                )
              ]
              spids: [3035]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                          spids: [3043 3047]
                        )
                      )
                    }
                  spids: [3041]
                )
              ]
              spids: [3041]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3052 3056]
                    )
                  }
                )
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$my_cmd'))})
                    (C {(eval)} {(DQ ('func_echo ') ($ VSub_Name '$func_quote_for_expand_result'))})
                  ]
                  spids: [3060]
                )
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {
                            (BracedVarSub
                              token: <VSub_Name opt_dry_run>
                              suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                              spids: [3084 3088]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [-1 3091]
                )
              ]
              else_action: [
                (C {(eval)} {(DQ ($ VSub_Name '$my_cmd'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_status)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [3106]
                    )
                  ]
                  spids: [3106]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(DQ ($ VSub_Name '$my_status'))} {(-eq)} {(0)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                      spids: [-1 3123]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ('(exit ') ($ VSub_Name '$my_status') ('); ') ($ VSub_Name '$my_fail_exp'))
                      }
                    )
                  ]
                  spids: [3128 3141]
                )
              ]
              spids: [3096 3144]
            )
          ]
          spids: [3032]
        )
      spids: [3027 3031]
    )
    (FuncDef
      name: func_show_eval_locale
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [3170]
                )
              ]
              spids: [3170]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                          spids: [3178 3182]
                        )
                      )
                    }
                  spids: [3176]
                )
              ]
              spids: [3176]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3187 3191]
                    )
                  }
                )
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$my_cmd'))})
                    (C {(eval)} {(DQ ('func_echo ') ($ VSub_Name '$func_quote_for_expand_result'))})
                  ]
                  spids: [3195]
                )
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {
                            (BracedVarSub
                              token: <VSub_Name opt_dry_run>
                              suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                              spids: [3219 3223]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [-1 3226]
                )
              ]
              else_action: [
                (C {(eval)} 
                  {(DQ ($ VSub_Name '$lt_user_locale') ('\n') ('\t    ') ($ VSub_Name '$my_cmd'))}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_status)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [3244]
                    )
                  ]
                  spids: [3244]
                )
                (C {(eval)} {(DQ ($ VSub_Name '$lt_safe_locale'))})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(DQ ($ VSub_Name '$my_status'))} {(-eq)} {(0)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                      spids: [-1 3268]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ('(exit ') ($ VSub_Name '$my_status') ('); ') ($ VSub_Name '$my_fail_exp'))
                      }
                    )
                  ]
                  spids: [3273 3286]
                )
              ]
              spids: [3231 3289]
            )
          ]
          spids: [3167]
        )
      spids: [3162 3166]
    )
    (FuncDef
      name: func_version
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$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/^# '>
                  ) ($ VSub_Name '$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
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3337]
                )
              ]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [3309]
        )
      spids: [3304 3308]
    )
    (FuncDef
      name: func_usage
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'/^# Usage:/,/^#  *-h/ {\n'> <'        s/^# //\n'> <'\ts/^# *$//\n'> 
                    <'\ts/\\$progname/'>
                  ) ($ VSub_Name '$progname') (SQ <'/\n'> <'\tp\n'> <'    }'>)
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3382]
                )
              ]
            )
            (C {(echo)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('run ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  ($ VSub_Name '$progname') (" --help | more' for full usage")
                )
              }
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [3362]
        )
      spids: [3357 3361]
    )
    (FuncDef
      name: func_help
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'/^# Usage:/,/# Report bugs to/ {\n'> <'        s/^# //\n'> <'\ts/^# *$//\n'> 
                    <'\ts*\\$progname*'>
                  ) ($ VSub_Name '$progname') (SQ <'*\n'> <'\ts*\\$host*'>) (DQ ($ VSub_Name '$host')) 
                  (SQ <'*\n'> <'\ts*\\$SHELL*'>) (DQ ($ VSub_Name '$SHELL')) (SQ <'*\n'> <'\ts*\\$LTCC*'>) (DQ ($ VSub_Name '$LTCC')) 
                  (SQ <'*\n'> <'\ts*\\$LTCFLAGS*'>) (DQ ($ VSub_Name '$LTCFLAGS')) (SQ <'*\n'> <'\ts*\\$LD*'>) (DQ ($ VSub_Name '$LD')) 
                  (SQ <'*\n'> <'\ts/\\$with_gnu_ld/'>) (DQ ($ VSub_Name '$with_gnu_ld')) (SQ <'/\n'> <'\ts/\\$automake_version/'>) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(automake)} {(--version)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [3491]
                                    )
                                  ]
                                  spids: [3485 3489]
                                )
                                (C {($ VSub_Name '$SED')} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [3484 3498]
                    )
                  ) (SQ <'/\n'> <'\ts/\\$autoconf_version/'>) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(autoconf)} {(--version)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [3512]
                                    )
                                  ]
                                  spids: [3506 3510]
                                )
                                (C {($ VSub_Name '$SED')} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [3505 3519]
                    )
                  ) (SQ <'/\n'> <'\tp\n'> <'     }'>)
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3527]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ret)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [3534]
                )
              ]
              spids: [3534]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(exit)} {($ VSub_Name '$ret')})]
                  spids: [-1 3549]
                )
              ]
              spids: [-1 3557]
            )
          ]
          spids: [3423]
        )
      spids: [3418 3422]
    )
    (FuncDef
      name: func_missing_arg
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} {(DQ ('missing argument for ') ($ VSub_Number '$1'))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(exit)} spids:[3587])]
              spids: [3587]
            )
          ]
          spids: [3576]
        )
      spids: [3571 3575]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ':')} spids:[3593])]
      spids: [3593]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(DQ ('%%%MAGIC variable%%%'))}
          spids: [3602]
        )
      ]
      spids: [3602]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(DQ ('%%%MAGIC EXE variable%%%'))}
          spids: [3607]
        )
      ]
      spids: [3607]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(SQ )} spids:[3619])]
      spids: [3619]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:execute_dlfiles) op:Equal rhs:{(SQ )} spids:[3621])]
      spids: [3621]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:preserve_args) op:Equal rhs:{(SQ )} spids:[3623])]
      spids: [3623]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:lo2o)
          op: Equal
          rhs: 
            {
              (DQ (s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (.lo) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/.) (${ VSub_Name objext) (/)
              )
            }
          spids: [3625]
        )
      ]
      spids: [3625]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:o2lo)
          op: Equal
          rhs: 
            {
              (DQ (s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (.) (${ VSub_Name objext) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/.lo/)
              )
            }
          spids: [3638]
        )
      ]
      spids: [3638]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_archives) op:Equal rhs:{(SQ )} spids:[3650])]
      spids: [3650]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[3652])]
      spids: [3652]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[3656])]
      spids: [3656]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_finish) op:Equal rhs:{(Lit_Other ':')} spids:[3659])]
      spids: [3659]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_duplicate_deps) op:Equal rhs:{(false)} spids:[3662])]
      spids: [3662]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(false)} spids:[3665])]
      spids: [3665]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_debug) op:Equal rhs:{(Lit_Other ':')} spids:[3668])]
      spids: [3668]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(SQ )} spids:[3681])]
      spids: [3681]
    )
    (FuncDef
      name: func_fatal_configuration
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [3703 3709]
                )
              }
            )
            (C {(func_error)} 
              {(DQ ('See the ') ($ VSub_Name '$PACKAGE') (' documentation for more information.'))}
            )
            (C {(func_fatal_error)} {(DQ ('Fatal configuration error.'))})
          ]
          spids: [3698]
        )
      spids: [3693 3697]
    )
    (FuncDef
      name: func_config
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_begincf)
                  op: Equal
                  rhs: {(SQ <'^# ### BEGIN LIBTOOL'>)}
                  spids: [3745]
                )
              ]
              spids: [3745]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <'^# ### END LIBTOOL'>)}
                  spids: [3751]
                )
              ]
              spids: [3751]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {
                  (DQ ('1,/') ($ VSub_Name '$re_begincf') (' CONFIG/d;/') ($ VSub_Name '$re_endcf') 
                    (' CONFIG/,') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (d)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3774]
                )
              ]
            )
            (ForEach
              iter_name: tagname
              iter_words: [{($ VSub_Name '$taglist')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$SED')}
                        {(-n)}
                        {
                          (DQ (/) ($ VSub_Name '$re_begincf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) ('/,/') ($ VSub_Name '$re_endcf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (/p)
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$progpath'))}
                          spids: [3816]
                        )
                      ]
                    )
                  ]
                  spids: [3795 3823]
                )
              spids: [3791 3793]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [3742]
        )
      spids: [3737 3741]
    )
    (FuncDef
      name: func_features
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('host: ') ($ VSub_Name '$host'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ ('enable shared libraries'))})]
                  spids: [-1 3869]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable shared libraries'))})]
              spids: [3879 3889]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ ('enable static libraries'))})]
                  spids: [-1 3905]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable static libraries'))})]
              spids: [3915 3925]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [3845]
        )
      spids: [3840 3844]
    )
    (FuncDef
      name: func_enable_tag
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tagname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [3960]
                )
              ]
              spids: [3960]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_begincf)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('^# ### BEGIN LIBTOOL TAG CONFIG: ') ($ VSub_Name '$tagname') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                      )
                    }
                  spids: [3967]
                )
              ]
              spids: [3967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('^# ### END LIBTOOL TAG CONFIG: ') ($ VSub_Name '$tagname') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                      )
                    }
                  spids: [3975]
                )
              ]
              spids: [3975]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sed_extractcf)
                  op: Equal
                  rhs: {(DQ (/) ($ VSub_Name '$re_begincf') ('/,/') ($ VSub_Name '$re_endcf') (/p))}
                  spids: [3983]
                )
              ]
              spids: [3983]
            )
            (Case
              to_match: {($ VSub_Name '$tagname')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') (-_A-Za-z0-9) (Lit_Comma ',') (/) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                  ]
                  action: [
                    (C {(func_fatal_error)} {(DQ ('invalid tag name: ') ($ VSub_Name '$tagname'))})
                  ]
                  spids: [4005 4013 4024 -1]
                )
              ]
              spids: [3998 4002 4027]
            )
            (Case
              to_match: {($ VSub_Name '$tagname')}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[404640474049-1])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$GREP')}
                                    {(DQ ($ VSub_Name '$re_begincf'))}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [4068]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [4071]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:taglist)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$taglist') (' ') ($ VSub_Name '$tagname'))}
                                  spids: [4078]
                                )
                              ]
                              spids: [4078]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:extractedcf)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {($ VSub_Name '$SED')}
                                                  {(-n)}
                                                  {(-e)}
                                                  {(DQ ($ VSub_Name '$sed_extractcf'))}
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op_id: Redir_Less
                                                    fd: -1
                                                    arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                    spids: [4115]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [4104 4120]
                                      )
                                    }
                                  spids: [4103]
                                )
                              ]
                              spids: [4103]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name '$extractedcf'))})
                          ]
                          spids: [-1 4075]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ('ignoring unknown tag ') ($ VSub_Name '$tagname'))})
                      ]
                      spids: [4130 4141]
                    )
                  ]
                  spids: [4052 4053 4144 -1]
                )
              ]
              spids: [4039 4043 4147]
            )
          ]
          spids: [3953]
        )
      spids: [3948 3952]
    )
    (BraceGroup
      children: [
        (Case
          to_match: {($ VSub_Number '$1')}
          arms: [
            (case_arm
              pat_list: [{(clean)} {(clea)} {(cle)} {(cl)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(clean)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4194 4200]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4173 4180 4206 -1]
            )
            (case_arm
              pat_list: [{(compile)} {(compil)} {(compi)} {(comp)} {(com)} {(co)} {(c)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(compile)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4236 4242]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4209 4222 4248 -1]
            )
            (case_arm
              pat_list: [{(execute)} {(execut)} {(execu)} {(exec)} {(exe)} {(ex)} {(e)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(execute)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4278 4284]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4251 4264 4290 -1]
            )
            (case_arm
              pat_list: [{(finish)} {(finis)} {(fini)} {(fin)} {(KW_Fi fi)} {(f)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(finish)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4318 4324]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4293 4304 4330 -1]
            )
            (case_arm
              pat_list: [{(install)} {(instal)} {(insta)} {(inst)} {(ins)} {(KW_In in)} {(i)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(install)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4360 4366]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4333 4346 4372 -1]
            )
            (case_arm
              pat_list: [{(link)} {(lin)} {(li)} {(l)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(link)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4396 4402]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4375 4382 4408 -1]
            )
            (case_arm
              pat_list: [
                {(uninstall)}
                {(uninstal)}
                {(uninsta)}
                {(uninst)}
                {(unins)}
                {(unin)}
                {(uni)}
                {(un)}
                {(u)}
              ]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(uninstall)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [4442 4448]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4411 4428 4454 -1]
            )
          ]
          spids: [4166 4170 4457]
        )
        (While
          cond: [
            (Sentence
              child: (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [4481]
                    )
                  ]
                  spids: [4481]
                )
                (C {(shift)})
                (Case
                  to_match: {($ VSub_Name '$opt')}
                  arms: [
                    (case_arm
                      pat_list: [{(--config)}]
                      action: [(C {(func_config)})]
                      spids: [4498 4499 4503 -1]
                    )
                    (case_arm
                      pat_list: [{(--debug)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4510]
                            )
                          ]
                          spids: [4510]
                        )
                        (C {(func_echo)} {(DQ ('enabling shell trace mode'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_debug)
                              op: Equal
                              rhs: {(SQ <'set -x'>)}
                              spids: [4525]
                            )
                          ]
                          spids: [4525]
                        )
                        (C {($ VSub_Name '$opt_debug')})
                      ]
                      spids: [4507 4508 4534 -1]
                    )
                    (case_arm
                      pat_list: [{(-dlopen)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {(DQ ($ VSub_Name '$opt'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:execute_dlfiles)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$execute_dlfiles') (' ') ($ VSub_Number '$1'))}
                              spids: [4564]
                            )
                          ]
                          spids: [4564]
                        )
                        (C {(shift)})
                      ]
                      spids: [4538 4539 4575 -1]
                    )
                    (case_arm
                      pat_list: [{(--dry-run)} {(-n)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_dry_run)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4586]
                            )
                          ]
                          spids: [4586]
                        )
                      ]
                      spids: [4579 4584 4589 -1]
                    )
                    (case_arm
                      pat_list: [{(--features)}]
                      action: [(C {(func_features)})]
                      spids: [4592 4593 4597 -1]
                    )
                    (case_arm
                      pat_list: [{(--finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ (finish))}
                              spids: [4603]
                            )
                          ]
                          spids: [4603]
                        )
                      ]
                      spids: [4600 4601 4608 -1]
                    )
                    (case_arm
                      pat_list: [{(--no-finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_finish)
                              op: Equal
                              rhs: {(false)}
                              spids: [4614]
                            )
                          ]
                          spids: [4614]
                        )
                      ]
                      spids: [4611 4612 4617 -1]
                    )
                    (case_arm
                      pat_list: [{(--mode)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {(DQ ($ VSub_Name '$opt'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Case
                          to_match: {($ VSub_Number '$1')}
                          arms: [
                            (case_arm
                              pat_list: [{(clean)}]
                              spids: [4658 4659 4661 -1]
                            )
                            (case_arm
                              pat_list: [{(compile)}]
                              spids: [4664 4665 4667 -1]
                            )
                            (case_arm
                              pat_list: [{(execute)}]
                              spids: [4670 4671 4673 -1]
                            )
                            (case_arm
                              pat_list: [{(finish)}]
                              spids: [4676 4677 4679 -1]
                            )
                            (case_arm
                              pat_list: [{(install)}]
                              spids: [4682 4683 4685 -1]
                            )
                            (case_arm
                              pat_list: [{(link)}]
                              spids: [4688 4689 4691 -1]
                            )
                            (case_arm
                              pat_list: [{(relink)}]
                              spids: [4694 4695 4697 -1]
                            )
                            (case_arm
                              pat_list: [{(uninstall)}]
                              spids: [4700 4701 4703 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} {(DQ ('invalid argument for ') ($ VSub_Name '$opt'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:exit_cmd)
                                      op: Equal
                                      rhs: {(exit)}
                                      spids: [4722]
                                    )
                                  ]
                                  spids: [4722]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [4711 4712 4729 -1]
                            )
                          ]
                          spids: [4647 4651 4732]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$1'))}
                              spids: [4736]
                            )
                          ]
                          spids: [4736]
                        )
                        (C {(shift)})
                      ]
                      spids: [4621 4622 4745 -1]
                    )
                    (case_arm
                      pat_list: [{(--preserve-dup-deps)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_duplicate_deps)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4753]
                            )
                          ]
                          spids: [4753]
                        )
                      ]
                      spids: [4749 4750 4756 -1]
                    )
                    (case_arm
                      pat_list: [{(--quiet)} {(--silent)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4765]
                            )
                          ]
                          spids: [4765]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4773]
                            )
                          ]
                          spids: [4773]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(false)}
                              spids: [4777]
                            )
                          ]
                          spids: [4777]
                        )
                      ]
                      spids: [4760 4763 4781 -1]
                    )
                    (case_arm
                      pat_list: [{(--no-quiet)} {(--no-silent)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4791]
                            )
                          ]
                          spids: [4791]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [4799]
                            )
                          ]
                          spids: [4799]
                        )
                      ]
                      spids: [4785 4788 4803 -1]
                    )
                    (case_arm
                      pat_list: [{(--verbose)} {(-v)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4813]
                            )
                          ]
                          spids: [4813]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [4821]
                            )
                          ]
                          spids: [4821]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4825]
                            )
                          ]
                          spids: [4825]
                        )
                      ]
                      spids: [4807 4811 4829 -1]
                    )
                    (case_arm
                      pat_list: [{(--no-verbose)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4836]
                            )
                          ]
                          spids: [4836]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(false)}
                              spids: [4844]
                            )
                          ]
                          spids: [4844]
                        )
                      ]
                      spids: [4833 4834 4848 -1]
                    )
                    (case_arm
                      pat_list: [{(--tag)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {(DQ ($ VSub_Name '$opt'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt') (' ') 
                                    ($ VSub_Number '$1')
                                  )
                                }
                              spids: [4878]
                            )
                          ]
                          spids: [4878]
                        )
                        (C {(func_enable_tag)} {(DQ ($ VSub_Number '$1'))})
                        (C {(shift)})
                      ]
                      spids: [4852 4853 4901 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-dlopen) (Lit_Other '=') (Lit_Other '*')}
                        {(--mode) (Lit_Other '=') (Lit_Other '*')}
                        {(--tag) (Lit_Other '=') (Lit_Other '*')}
                      ]
                      action: [
                        (C {(func_opt_split)} {(DQ ($ VSub_Name '$opt'))})
                        (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_opt_split_opt'))} 
                          {(DQ ($ VSub_Name '$func_opt_split_arg'))} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [4942 4948]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [4909 4920 4954 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} {(-h)}]
                      action: [(C {(func_usage)})]
                      spids: [4958 4962 4966 -1]
                    )
                    (case_arm
                      pat_list: [{(--help)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4972]
                            )
                          ]
                          spids: [4972]
                        )
                      ]
                      spids: [4969 4970 4975 -1]
                    )
                    (case_arm
                      pat_list: [{(--help-all)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(SQ <': help-all'>)}
                              spids: [4981]
                            )
                          ]
                          spids: [4981]
                        )
                      ]
                      spids: [4978 4979 4986 -1]
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: [(C {(func_version)})]
                      spids: [4989 4990 4994 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other '*')}]
                      action: [
                        (C {(func_fatal_help)} 
                          {
                            (DQ ('unrecognized option ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ($ VSub_Name '$opt') ("'")
                            )
                          }
                        )
                      ]
                      spids: [4998 5000 5011 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:nonopt)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$opt'))}
                              spids: [5018]
                            )
                          ]
                          spids: [5018]
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [5015 5016 5027 -1]
                    )
                  ]
                  spids: [4491 4495 5030]
                )
              ]
              spids: [4478 5033]
            )
        )
        (Case
          to_match: {($ VSub_Name '$host')}
          arms: [
            (case_arm
              pat_list: [
                {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                {(Lit_Other '*') (mingw) (Lit_Other '*')}
                {(Lit_Other '*') (pw32) (Lit_Other '*')}
                {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                {(Lit_Other '*') (solaris2) (Lit_Other '*')}
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {(Lit_Other ':')}
                      spids: [5080]
                    )
                  ]
                  spids: [5080]
                )
              ]
              spids: [5045 5073 5084 -1]
            )
            (case_arm
              pat_list: [{(Lit_Other '*')}]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {($ VSub_Name '$opt_duplicate_deps')}
                      spids: [5091]
                    )
                  ]
                  spids: [5091]
                )
              ]
              spids: [5087 5088 5095 -1]
            )
          ]
          spids: [5038 5042 5098]
        )
        (C {($ VSub_Name '$exit_cmd')} {($ VSub_Name '$EXIT_FAILURE')})
      ]
      spids: [4158]
    )
    (FuncDef
      name: func_check_version_match
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$package_revision'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_revision'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$VERSION'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_version'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$macro_version'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {(2)}
                                          spids: [5188]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: 
                                            {
                                              (DQ ($ VSub_Name '$progname') 
                                                (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                                (
': definition of this LT_INIT comes from an older release.\n'
                                                ) ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from ') 
                                                ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') (': and run autoconf again.\n')
                                              )
                                            }
                                          do_expansion: True
                                          here_end: _LT_EOF
                                          was_filled: True
                                          spids: [5191]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [-1 5183]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [5217]
                                    )
                                    (HereDoc
                                      op_id: Redir_DLess
                                      fd: -1
                                      body: 
                                        {
                                          (DQ ($ VSub_Name '$progname') 
                                            (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                            (': definition of this LT_INIT comes from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$macro_version') ('.\n') ($ VSub_Name '$progname') 
                                            (': You should recreate aclocal.m4 with macros from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') 
                                            (': and run autoconf again.\n')
                                          )
                                        }
                                      do_expansion: True
                                      here_end: _LT_EOF
                                      was_filled: True
                                      spids: [5220]
                                    )
                                  ]
                                )
                              ]
                              spids: [5212 5245]
                            )
                          ]
                          spids: [-1 5169]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {(2)}
                              spids: [5253]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: -1
                              body: 
                                {
                                  (DQ ($ VSub_Name '$progname') 
                                    (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', revision ') ($ VSub_Name '$package_revision') 
                                    (',\n') ($ VSub_Name '$progname') (': but the definition of this LT_INIT comes from revision ') 
                                    ($ VSub_Name '$macro_revision') ('.\n') ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from revision ') 
                                    ($ VSub_Name '$package_revision') ('\n') ($ VSub_Name '$progname') (': of ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') 
                                    (' and run autoconf again.\n')
                                  )
                                }
                              do_expansion: True
                              here_end: _LT_EOF
                              was_filled: True
                              spids: [5256]
                            )
                          ]
                        )
                      ]
                      spids: [5248 5283]
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_MISMATCH')})
                  ]
                  spids: [-1 5150]
                )
              ]
              spids: [-1 5292]
            )
          ]
          spids: [5131]
        )
      spids: [5126 5130]
    )
    (AndOr
      children: [
        (C {($ VSub_Name '$opt_help')})
        (BraceGroup
          children: [
            (C {(func_check_version_match)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                            )
                            (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_fatal_configuration)} 
                      {(DQ ('not configured to build any kind of library'))}
                    )
                  ]
                  spids: [-1 5350]
                )
              ]
              spids: [-1 5360]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$mode'))})
                (C {(func_fatal_error)} {(DQ ('error: you must specify a MODE.'))})
              ]
              op_id: Op_DAmp
            )
            (C {(eval)} 
              {
                (DQ ('std_shrext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$execute_dlfiles'))})
                            (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(KW_Bang '!') (Lit_Other '=')} 
                              {(execute)}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_error)} 
                      {
                        (DQ ('unrecognized option ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("-dlopen'")
                        )
                      }
                    )
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$help'))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[5445])]
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                  ]
                  spids: [-1 5427]
                )
              ]
              spids: [-1 5454]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generic_help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$help'))}
                  spids: [5462]
                )
              ]
              spids: [5462]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                        ($ VSub_Name '$progname') (' --help --mode=') ($ VSub_Name '$mode') ("' for more information.")
                      )
                    }
                  spids: [5468]
                )
              ]
              spids: [5468]
            )
          ]
          spids: [5312]
        )
      ]
      op_id: Op_DPipe
    )
    (FuncDef
      name: func_lalib_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$SED')} {(-e)} {(4q)} {(DQ ($ VSub_Number '$1'))}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[5523])]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$GREP')}
                        {(DQ ('^# Generated by .*') ($ VSub_Name '$PACKAGE'))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [5537]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [5541]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [5499]
        )
      spids: [5494 5498]
    )
    (FuncDef
      name: func_lalib_unsafe_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:lalib_p) op:Equal rhs:{(no)} spids:[5576])]
              spids: [5576]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                            (AndOr
                              children: [
                                (C {(test)} {(-r)} {(DQ ($ VSub_Number '$1'))})
                                (SimpleCommand
                                  words: [{(exec)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_LessAnd
                                      fd: 5
                                      arg_word: {(0)}
                                      spids: [5604]
                                    )
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(DQ ($ VSub_Number '$1'))}
                                      spids: [5607]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: lalib_p_l
                      iter_words: [{(1)} {(2)} {(3)} {(4)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(read)} {(lalib_p_line)})
                            (Case
                              to_match: {(DQ ($ VSub_Name '$lalib_p_line'))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\ '>
                                      ) (Generated) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (by) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\ '>
                                      ) (Lit_Other '*') ($ VSub_Name '$PACKAGE') (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lalib_p)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [5660]
                                            )
                                          ]
                                          spids: [5660]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [5648 5658 5665 -1]
                                )
                              ]
                              spids: [5639 5645 5668]
                            )
                          ]
                          spids: [5631 5671]
                        )
                      spids: [5621 -1]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [5676]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [5679]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5613]
                )
              ]
              spids: [-1 5683]
            )
            (C {(test)} {(DQ ($ VSub_Name '$lalib_p'))} {(Lit_Other '=')} {(yes)})
          ]
          spids: [5573]
        )
      spids: [5568 5572]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: (BraceGroup children:[(C {(func_lalib_p)} {(DQ ($ VSub_Number '$1'))})] spids:[5716])
      spids: [5711 5715]
    )
    (FuncDef
      name: func_ltwrapper_executable_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_exec_suffix)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [5748]
                )
              ]
              spids: [5748]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm pat_list:[{(Lit_Other '*') (.exe)}] spids:[575857605762-1])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_exec_suffix)
                          op: Equal
                          rhs: {(.exe)}
                          spids: [5768]
                        )
                      ]
                      spids: [5768]
                    )
                  ]
                  spids: [5765 5766 5771 -1]
                )
              ]
              spids: [5751 5755 5774]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$GREP')}
                {(DQ ($ VSub_Name '$magic_exe'))}
                {(DQ ($ VSub_Number '$1') ($ VSub_Name '$func_ltwrapper_exec_suffix'))}
              ]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[5788])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[5791])
              ]
            )
          ]
          spids: [5745]
        )
      spids: [5740 5744]
    )
    (FuncDef
      name: func_ltwrapper_scriptname
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_scriptname_result)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [5817]
                )
              ]
              spids: [5817]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Number '$1'))} {(DQ )} {(DQ (.))})
                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                      {(DQ ($ VSub_Name '$func_basename_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_scriptname_result)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$func_dirname_result') (/) ($ VSub_Name '$objdir') (/) 
                                (${ VSub_Name func_stripname_result) (_ltshwrapper)
                              )
                            }
                          spids: [5862]
                        )
                      ]
                      spids: [5862]
                    )
                  ]
                  spids: [-1 5831]
                )
              ]
              spids: [-1 5875]
            )
          ]
          spids: [5814]
        )
      spids: [5809 5813]
    )
    (FuncDef
      name: func_ltwrapper_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Number '$1'))})
                (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number '$1'))})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [5897]
        )
      spids: [5892 5896]
    )
    (FuncDef
      name: func_execute_cmds
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:save_ifs)
                      op: Equal
                      rhs: {($ VSub_Name '$IFS')}
                      spids: [5941]
                    )
                  ]
                  spids: [5941]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <'~'>)} spids:[5945])]
              spids: [5945]
            )
            (ForEach
              iter_name: cmd
              iter_words: [{($ VSub_Number '$1')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$save_ifs')}
                          spids: [5963]
                        )
                      ]
                      spids: [5963]
                    )
                    (C {(eval)} 
                      {
                        (DQ ('cmd=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                        )
                      }
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$cmd'))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                            spids: [5984 5988]
                          )
                        )
                      }
                    )
                  ]
                  spids: [5960 5992]
                )
              spids: [5956 5958]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$save_ifs')}
                  spids: [5995]
                )
              ]
              spids: [5995]
            )
          ]
          spids: [5935]
        )
      spids: [5930 5934]
    )
    (FuncDef
      name: func_source
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (/) (Lit_Other '*')}
                    {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                      (Lit_Other '*')
                    }
                  ]
                  action: [(C {(.)} {(DQ ($ VSub_Number '$1'))})]
                  spids: [6038 6047 6055 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number '$1'))})]
                  spids: [6058 6059 6068 -1]
                )
              ]
              spids: [6031 6035 6071]
            )
          ]
          spids: [6025]
        )
      spids: [6020 6024]
    )
    (FuncDef
      name: func_infer_tag
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$available_tags'))})
                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$tagname'))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [6130]
                        )
                      ]
                      spids: [6130]
                    )
                    (ForEach
                      iter_name: arg
                      iter_words: [{($ VSub_Name '$CC')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CC_quoted)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$CC_quoted') (' ') 
                                        ($ VSub_Name '$func_quote_for_eval_result')
                                      )
                                    }
                                  spids: [6152]
                                )
                              ]
                              spids: [6152]
                            )
                          ]
                          spids: [6142 6160]
                        )
                      spids: [6138 6140]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_expanded)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(func_echo_all)} {($ VSub_Name '$CC')})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6164 6168]
                              )
                            }
                          spids: [6163]
                        )
                      ]
                      spids: [6163]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted_expanded)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(func_echo_all)} {($ VSub_Name '$CC_quoted')})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6172 6176]
                              )
                            }
                          spids: [6171]
                        )
                      ]
                      spids: [6171]
                    )
                    (Case
                      to_match: {($ VSub_At '$@')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(DQ (' ') ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                            {(DQ (' ') ($ VSub_Name '$CC_expanded') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_expanded') (' ')) (Lit_Other '*')}
                            {(DQ (' ') ($ VSub_Name '$CC_quoted')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_quoted') (' ')) (Lit_Other '*')}
                            {(DQ (' ') ($ VSub_Name '$CC_quoted_expanded') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_quoted_expanded') (' ')) (Lit_Other '*')}
                          ]
                          spids: [6195 6260 6262 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (ForEach
                              iter_name: z
                              iter_words: [{($ VSub_Name '$available_tags')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$GREP')}
                                                    {
                                                      (DQ ('^# ### BEGIN LIBTOOL TAG CONFIG: ') 
                                                        ($ VSub_Name '$z') (Lit_Other '$')
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: -1
                                                      arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                      spids: [6299]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                      spids: [6305]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {(${ VSub_Name SED)}
                                                              {(-n)}
                                                              {(-e)}
                                                              {
                                                                (SQ 
                                                                  <
'/^# ### BEGIN LIBTOOL TAG CONFIG: '
                                                                  >
                                                                ) ($ VSub_Name '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ VSub_Name '$z') (SQ <'$/p'>)
                                                              }
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Less
                                                                fd: -1
                                                                arg_word: {($ VSub_Name '$progpath')}
                                                                spids: [6341]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [6320 6344]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [6348]
                                                )
                                              ]
                                              spids: [6348]
                                            )
                                            (ForEach
                                              iter_name: arg
                                              iter_words: [{($ VSub_Name '$CC')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_quote_for_eval)} 
                                                      {(DQ ($ VSub_Name '$arg'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:CC_quoted)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$CC_quoted') (' ') 
                                                                ($ VSub_Name 
'$func_quote_for_eval_result'
                                                                )
                                                              )
                                                            }
                                                          spids: [6374]
                                                        )
                                                      ]
                                                      spids: [6374]
                                                    )
                                                  ]
                                                  spids: [6360 6382]
                                                )
                                              spids: [6356 6358]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_expanded)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(func_echo_all)} 
                                                                {($ VSub_Name '$CC')}
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [6386 6390]
                                                      )
                                                    }
                                                  spids: [6385]
                                                )
                                              ]
                                              spids: [6385]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted_expanded)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(func_echo_all)} 
                                                                {($ VSub_Name '$CC_quoted')}
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [6394 6398]
                                                      )
                                                    }
                                                  spids: [6393]
                                                )
                                              ]
                                              spids: [6393]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_At '$@') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(DQ (' ') ($ VSub_Name '$CC') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                                                    {(DQ (' ') ($ VSub_Name '$CC_expanded') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_expanded') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ (' ') ($ VSub_Name '$CC_quoted')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_quoted') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$CC_quoted_expanded') 
                                                        (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_quoted_expanded') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tagname)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$z')}
                                                          spids: [6492]
                                                        )
                                                      ]
                                                      spids: [6492]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [6412 6477 6499 -1]
                                                )
                                              ]
                                              spids: [6401 6408 6502]
                                            )
                                          ]
                                          spids: [-1 6310]
                                        )
                                      ]
                                      spids: [-1 6505]
                                    )
                                  ]
                                  spids: [6286 6508]
                                )
                              spids: [6282 6284]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$tagname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_echo)} {(DQ ('unable to infer tagged configuration'))})
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ('specify a tag with ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ("--tag'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 6534]
                                )
                              ]
                              spids: [-1 6559]
                            )
                          ]
                          spids: [6273 6274 6562 -1]
                        )
                      ]
                      spids: [6179 6183 6565]
                    )
                  ]
                  spids: [-1 6127]
                )
              ]
              spids: [-1 6568]
            )
          ]
          spids: [6100]
        )
      spids: [6095 6099]
    )
    (FuncDef
      name: func_write_libtool_object
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:write_libobj)
                  op: Equal
                  rhs: {(${ VSub_Number 1)}
                  spids: [6592]
                )
              ]
              spids: [6592]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:write_lobj)
                          op: Equal
                          rhs: 
                            {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (${ VSub_Number 2) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\'">
                              )
                            }
                          spids: [6614]
                        )
                      ]
                      spids: [6614]
                    )
                  ]
                  spids: [-1 6611]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [6625]
                    )
                  ]
                  spids: [6625]
                )
              ]
              spids: [6622 6629]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:write_oldobj)
                          op: Equal
                          rhs: 
                            {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (${ VSub_Number 3) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\'">
                              )
                            }
                          spids: [6649]
                        )
                      ]
                      spids: [6649]
                    )
                  ]
                  spids: [-1 6646]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [6660]
                    )
                  ]
                  spids: [6660]
                )
              ]
              spids: [6657 6664]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                          spids: [6677]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ('# ') ($ VSub_Name '$write_libobj') (' - a libtool object file\n') 
                                ('# Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') ($ VSub_Name '$TIMESTAMP') (') ') 
                                ($ VSub_Name '$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=') ($ VSub_Name '$write_lobj') ('\n') ('\n') 
                                ('# Name of the non-PIC object\n') ('non_pic_object=') ($ VSub_Name '$write_oldobj') ('\n') ('\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6683]
                        )
                      ]
                    )
                    (C {($ VSub_Name '$MV')} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ (${ VSub_Name write_libobj))}
                    )
                  ]
                  spids: [6672]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [6589]
        )
      spids: [6584 6588]
    )
    (FuncDef
      name: func_mode_compile
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:base_compile) op:Equal rhs:{(SQ )} spids:[6752])]
              spids: [6752]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [6755]
                )
              ]
              spids: [6755]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:suppress_opt) op:Equal rhs:{(yes)} spids:[6764])]
              spids: [6764]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [6768]
                )
              ]
              spids: [6768]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[6771])]
              spids: [6771]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(SQ )} spids:[6775])]
              spids: [6775]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(SQ )} spids:[6778])]
              spids: [6778]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:pie_flag) op:Equal rhs:{(SQ )} spids:[6781])]
              spids: [6781]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg_mode')}
                      arms: [
                        (case_arm
                          pat_list: [{(arg)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lastarg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$arg'))}
                                  spids: [6809]
                                )
                              ]
                              spids: [6809]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6815]
                                )
                              ]
                              spids: [6815]
                            )
                          ]
                          spids: [6800 6802 6819 -1]
                        )
                        (case_arm
                          pat_list: [{(target)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$arg'))}
                                  spids: [6828]
                                )
                              ]
                              spids: [6828]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6834]
                                )
                              ]
                              spids: [6834]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6823 6825 6841 -1]
                        )
                        (case_arm
                          pat_list: [{(normal)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-o)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobj'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('you cannot specify ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ("-o' more than once")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(target)}
                                          spids: [6886]
                                        )
                                      ]
                                      spids: [6886]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6861 6862 6893 -1]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pie_flag)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$pie_flag') (' ') ($ VSub_Name '$arg'))
                                            }
                                          spids: [6909]
                                        )
                                      ]
                                      spids: [6909]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6897 6906 6920 -1]
                                )
                                (case_arm
                                  pat_list: [{(-shared)} {(-static)} {(-prefer-pic)} {(-prefer-non-pic)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:later)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$later') (' ') ($ VSub_Name '$arg'))}
                                          spids: [6940]
                                        )
                                      ]
                                      spids: [6940]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6924 6937 6951 -1]
                                )
                                (case_arm
                                  pat_list: [{(-no-suppress)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:suppress_opt)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [6959]
                                        )
                                      ]
                                      spids: [6959]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6955 6956 6966 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [6974]
                                        )
                                      ]
                                      spids: [6974]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6970 6971 6987 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Wc) (Lit_Comma ',') (Lit_Other '*')}]
                                  action: [
                                    (C {(func_stripname)} {(SQ <'-Wc,'>)} {(SQ )} 
                                      {(DQ ($ VSub_Name '$arg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:args)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [7014]
                                        )
                                      ]
                                      spids: [7014]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [7018]
                                        )
                                      ]
                                      spids: [7018]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                                              spids: [7021]
                                            )
                                          ]
                                          spids: [7021]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <','>)}
                                          spids: [7027]
                                        )
                                      ]
                                      spids: [7027]
                                    )
                                    (ForEach
                                      iter_name: arg
                                      iter_words: [{($ VSub_Name '$args')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [7045]
                                                )
                                              ]
                                              spids: [7045]
                                            )
                                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lastarg)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$lastarg') (' ') 
                                                        ($ VSub_Name '$func_quote_for_eval_result')
                                                      )
                                                    }
                                                  spids: [7058]
                                                )
                                              ]
                                              spids: [7058]
                                            )
                                          ]
                                          spids: [7042 7066]
                                        )
                                      spids: [7038 7040]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [7069]
                                        )
                                      ]
                                      spids: [7069]
                                    )
                                    (C {(func_stripname)} {(SQ <' '>)} {(SQ )} 
                                      {(DQ ($ VSub_Name '$lastarg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [7089]
                                        )
                                      ]
                                      spids: [7089]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:base_compile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$base_compile') (' ') 
                                                ($ VSub_Name '$lastarg')
                                              )
                                            }
                                          spids: [7098]
                                        )
                                      ]
                                      spids: [7098]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6994 6997 7109 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$srcfile'))}
                                          spids: [7129]
                                        )
                                      ]
                                      spids: [7129]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [7135]
                                        )
                                      ]
                                      spids: [7135]
                                    )
                                  ]
                                  spids: [7113 7114 7141 -1]
                                )
                              ]
                              spids: [6854 6858 7144]
                            )
                          ]
                          spids: [6845 6847 7150 -1]
                        )
                      ]
                      spids: [6793 6797 7153]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$lastarg'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base_compile)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$base_compile') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [7171]
                        )
                      ]
                      spids: [7171]
                    )
                  ]
                  spids: [6790 7179]
                )
              spids: [-1 -1]
            )
            (Case
              to_match: {($ VSub_Name '$arg_mode')}
              arms: [
                (case_arm
                  pat_list: [{(arg)}]
                  action: [
                    (C {(func_fatal_error)} {(DQ ('you must specify an argument for -Xcompile'))})
                  ]
                  spids: [7193 7194 7204 -1]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('you must specify a target with ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-o'")
                        )
                      }
                    )
                  ]
                  spids: [7207 7208 7220 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobj'))})
                        (BraceGroup
                          children: [
                            (C {(func_basename)} {(DQ ($ VSub_Name '$srcfile'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                  spids: [7251]
                                )
                              ]
                              spids: [7251]
                            )
                          ]
                          spids: [7241]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [7223 7224 7260 -1]
                )
              ]
              spids: [7186 7190 7263]
            )
            (Case
              to_match: {($ VSub_Name '$libobj')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (.) (Lit_Other '[') (cCFSifmso) (Lit_Other ']')}
                    {(Lit_Other '*') (.ada)}
                    {(Lit_Other '*') (.adb)}
                    {(Lit_Other '*') (.ads)}
                    {(Lit_Other '*') (.asm)}
                    {(Lit_Other '*') (.c) (Lit_Other '+') (Lit_Other '+')}
                    {(Lit_Other '*') (.cc)}
                    {(Lit_Other '*') (.ii)}
                    {(Lit_Other '*') (.class)}
                    {(Lit_Other '*') (.cpp)}
                    {(Lit_Other '*') (.cxx)}
                    {(Lit_Other '*') (.) (Lit_Other '[') (fF) (Lit_Other ']') (Lit_Other '[') (09) 
                      (Lit_Other ']') (Lit_Other '?')
                    }
                    {(Lit_Other '*') (.for)}
                    {(Lit_Other '*') (.java)}
                    {(Lit_Other '*') (.obj)}
                    {(Lit_Other '*') (.sx)}
                    {(Lit_Other '*') (.cu)}
                    {(Lit_Other '*') (.cup)}
                  ]
                  action: [
                    (C {(func_xform)} {(DQ ($ VSub_Name '$libobj'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobj)
                          op: Equal
                          rhs: {($ VSub_Name '$func_xform_result')}
                          spids: [7397]
                        )
                      ]
                      spids: [7397]
                    )
                  ]
                  spids: [7282 7387 7401 -1]
                )
              ]
              spids: [7275 7279 7404]
            )
            (Case
              to_match: {($ VSub_Name '$libobj')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.lo)}]
                  action: [
                    (Sentence
                      child: (C {(func_lo2o)} {(DQ ($ VSub_Name '$libobj'))})
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:obj)
                          op: Equal
                          rhs: {($ VSub_Name '$func_lo2o_result')}
                          spids: [7426]
                        )
                      ]
                      spids: [7426]
                    )
                  ]
                  spids: [7415 7417 7429 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('cannot determine name of library object from ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$libobj') ("'")
                        )
                      }
                    )
                  ]
                  spids: [7432 7433 7446 -1]
                )
              ]
              spids: [7408 7412 7449]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              iter_words: [{($ VSub_Name '$later')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                                (C {(func_fatal_configuration)} 
                                  {(DQ ('can not build a shared library'))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [7504]
                                )
                              ]
                              spids: [7504]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7478 7479 7511 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [7519]
                                )
                              ]
                              spids: [7519]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [7523]
                                )
                              ]
                              spids: [7523]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7515 7516 7530 -1]
                        )
                        (case_arm
                          pat_list: [{(-prefer-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [7538]
                                )
                              ]
                              spids: [7538]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7534 7535 7545 -1]
                        )
                        (case_arm
                          pat_list: [{(-prefer-non-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [7553]
                                )
                              ]
                              spids: [7553]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7549 7550 7560 -1]
                        )
                      ]
                      spids: [7471 7475 7563]
                    )
                  ]
                  spids: [7468 7566]
                )
              spids: [7464 7466]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$libobj'))})
            (AndOr
              children: [
                (C {(test)} {(DQ (X) ($ VSub_Name '$libobj'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (X) ($ VSub_Name '$func_quote_for_eval_result'))}
                )
                (AndOr
                  children: [
                    (Pipeline
                      children: [
                        (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$libobj'))})
                        (C {($ VSub_Name '$GREP')} 
                          {(SQ <'[]~#^*{};<>?"'>) (DQ ("'")) (SQ <'\t &()|`$[]'>)}
                        )
                      ]
                      negated: False
                    )
                    (C {(func_warning)} 
                      {
                        (DQ ('libobj name ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ($ VSub_Name '$libobj') ("' may not contain shell special characters.")
                        )
                      }
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$obj'))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                  spids: [7645]
                )
              ]
              spids: [7645]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                  spids: [7651]
                )
              ]
              spids: [7651]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {(${ VSub_Name xdir) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname')}
                  spids: [7657]
                )
              ]
              spids: [7657]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$base_compile'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a compilation command'))})
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:removelist)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$obj') (' ') ($ VSub_Name '$lobj') (' ') 
                                ($ VSub_Name '$libobj') (' ') (${ VSub_Name libobj) (T)
                              )
                            }
                          spids: [7707]
                        )
                      ]
                      spids: [7707]
                    )
                  ]
                  spids: [-1 7704]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:removelist)
                      op: Equal
                      rhs: 
                        {
                          (DQ ($ VSub_Name '$lobj') (' ') ($ VSub_Name '$libobj') (' ') 
                            (${ VSub_Name libobj) (T)
                          )
                        }
                      spids: [7725]
                    )
                  ]
                  spids: [7725]
                )
              ]
              spids: [7722 7738]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [
                    {(cygwin) (Lit_Other '*')}
                    {(mingw) (Lit_Other '*')}
                    {(pw32) (Lit_Other '*')}
                    {(os2) (Lit_Other '*')}
                    {(cegcc) (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pic_mode)
                          op: Equal
                          rhs: {(default)}
                          spids: [7778]
                        )
                      ]
                      spids: [7778]
                    )
                  ]
                  spids: [7753 7775 7782 -1]
                )
              ]
              spids: [7746 7750 7785]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} {(Lit_Other '=')} {(no)})
                            (C {(test)} {(DQ ($ VSub_Name '$deplibs_check_method'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(pass_all)}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pic_mode)
                          op: Equal
                          rhs: {(default)}
                          spids: [7821]
                        )
                      ]
                      spids: [7821]
                    )
                  ]
                  spids: [-1 7814]
                )
              ]
              spids: [-1 7825]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$compiler_c_o'))} {(Lit_Other '=')} {(no)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_obj)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$srcfile'))})
                                          (C {($ VSub_Name '$SED')} {(SQ <'s%^.*/%%; s%\\.[^.]*$%%'>)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [7854 7868]
                              ) (.) (${ VSub_Name objext)
                            }
                          spids: [7853]
                        )
                      ]
                      spids: [7853]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$output_obj') (.lock))}
                          spids: [7875]
                        )
                      ]
                      spids: [7875]
                    )
                  ]
                  spids: [-1 7850]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [7885]
                    )
                  ]
                  spids: [7885]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [7888]
                    )
                  ]
                  spids: [7888]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:lockfile) op:Equal rhs:{(SQ )} spids:[7892])]
                  spids: [7892]
                )
              ]
              spids: [7882 7895]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Until
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [7939]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [7943 7960]
                        )
                    )
                  ]
                  spids: [-1 7920]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} {(warn)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lockfile'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') 
                                  (' exists and contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [8005]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [8000 8007]
                                  ) ('\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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-c' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-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.)
                                )
                              }
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 7990]
                        )
                      ]
                      spids: [-1 8038]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:removelist)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$removelist') (' ') ($ VSub_Name '$output_obj'))}
                          spids: [8041]
                        )
                      ]
                      spids: [8041]
                    )
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$srcfile'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$lockfile'))}
                          spids: [8055]
                        )
                      ]
                    )
                  ]
                  spids: [7963 7976]
                )
              ]
              spids: [-1 8062]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:removelist)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$removelist') (' ') ($ VSub_Name '$lockfile'))}
                  spids: [8075]
                )
              ]
              spids: [8075]
            )
            (C {(trap)} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} {(1)} {(2)} {(15)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$fix_srcfile_path'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {
                        (DQ ('srcfile=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$fix_srcfile_path') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                        )
                      }
                    )
                  ]
                  spids: [-1 8108]
                )
              ]
              spids: [-1 8121]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$srcfile'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:qsrcfile)
                  op: Equal
                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                  spids: [8131]
                )
              ]
              spids: [8131]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fbsd_hideous_sh_bug)
                          op: Equal
                          rhs: {($ VSub_Name '$base_compile')}
                          spids: [8160]
                        )
                      ]
                      spids: [8160]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$base_compile') (' ') ($ VSub_Name '$qsrcfile') 
                                        (' ') ($ VSub_Name '$pic_flag')
                                      )
                                    }
                                  spids: [8182]
                                )
                              ]
                              spids: [8182]
                            )
                          ]
                          spids: [-1 8179]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:command)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$base_compile') (' ') ($ VSub_Name '$qsrcfile'))}
                              spids: [8199]
                            )
                          ]
                          spids: [8199]
                        )
                      ]
                      spids: [8192 8207]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$xdir') ($ VSub_Name '$objdir'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$output_obj'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$command') (' -o ') ($ VSub_Name '$lobj'))}
                                  spids: [8238]
                                )
                              ]
                              spids: [8238]
                            )
                          ]
                          spids: [-1 8231]
                        )
                      ]
                      spids: [-1 8246]
                    )
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name '$command'))} 
                      {(SQ <'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} 
                                      {(warn)}
                                    )
                                    (C {(test)} 
                                      {
                                        (DQ (X) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [8288]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [8283 8290]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [8317]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [8312 8319]
                                  ) ('\n') ('\n') ('but it should contain:\n') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-c' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-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.)
                                )
                              }
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 8302]
                        )
                      ]
                      spids: [-1 8354]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$output_obj'))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name '$output_obj'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lobj'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$lobj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [-1 8390]
                        )
                      ]
                      spids: [-1 8406]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$suppress_opt'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:suppress_output)
                                  op: Equal
                                  rhs: {(SQ <' >/dev/null 2>&1'>)}
                                  spids: [8430]
                                )
                              ]
                              spids: [8430]
                            )
                          ]
                          spids: [-1 8427]
                        )
                      ]
                      spids: [-1 8436]
                    )
                  ]
                  spids: [-1 8153]
                )
              ]
              spids: [-1 8439]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$base_compile') (' ') ($ VSub_Name '$qsrcfile') 
                                        ($ VSub_Name '$pie_flag')
                                      )
                                    }
                                  spids: [8484]
                                )
                              ]
                              spids: [8484]
                            )
                          ]
                          spids: [-1 8477]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:command)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name '$base_compile') (' ') ($ VSub_Name '$qsrcfile') 
                                    (' ') ($ VSub_Name '$pic_flag')
                                  )
                                }
                              spids: [8496]
                            )
                          ]
                          spids: [8496]
                        )
                      ]
                      spids: [8493 8506]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$compiler_c_o'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$command') (' -o ') ($ VSub_Name '$obj'))}
                                  spids: [8525]
                                )
                              ]
                              spids: [8525]
                            )
                          ]
                          spids: [-1 8522]
                        )
                      ]
                      spids: [-1 8533]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:command)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$command') ($ VSub_Name '$suppress_output'))}
                          spids: [8541]
                        )
                      ]
                      spids: [8541]
                    )
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name '$command'))} 
                      {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} 
                                      {(warn)}
                                    )
                                    (C {(test)} 
                                      {
                                        (DQ (X) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [8586]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [8581 8588]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [8615]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [8610 8617]
                                  ) ('\n') ('\n') ('but it should contain:\n') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-c' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-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.)
                                )
                              }
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 8600]
                        )
                      ]
                      spids: [-1 8652]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$output_obj'))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name '$output_obj'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$obj'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$obj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [-1 8688]
                        )
                      ]
                      spids: [-1 8704]
                    )
                  ]
                  spids: [-1 8460]
                )
              ]
              spids: [-1 8707]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (C {(func_write_libtool_object)} {(DQ ($ VSub_Name '$libobj'))} 
                      {(DQ ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname'))} {(DQ ($ VSub_Name '$objname'))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {($ VSub_Name '$lockfile')}
                                  spids: [8757]
                                )
                              ]
                              spids: [8757]
                            )
                            (C {($ VSub_Name '$RM')} {(DQ ($ VSub_Name '$lockfile'))})
                          ]
                          spids: [-1 8754]
                        )
                      ]
                      spids: [-1 8768]
                    )
                  ]
                  spids: [8715]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
          ]
          spids: [6742]
        )
      spids: [6737 6741]
    )
    (AndOr
      children: [
        (C {($ VSub_Name '$opt_help')})
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(compile)})
                (C {(func_mode_compile)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                      spids: [8803 8809]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [8786]
        )
      ]
      op_id: Op_DPipe
    )
    (FuncDef
      name: func_mode_help
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$mode')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_help)})]
                  spids: [-1 8835 8849 -1]
                )
                (case_arm
                  pat_list: [{(clean)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("/bin/rm').  RM-OPTIONS are options (such as ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-f') to be passed\n") ('to RM.\n') ('\n') 
                          (
'If FILE is a libtool library, object or program, all the files associated\n'
                          ) ('with it are deleted. Otherwise, only FILE itself is deleted using RM.')
                        )
                      }
                    )
                  ]
                  spids: [8853 8854 8880 -1]
                )
                (case_arm
                  pat_list: [{(compile)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".o' file suitable for static linking\n") ('  -static           only build a ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".c' with the\n") ('library object suffix, ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".lo'.")
                        )
                      }
                    )
                  ]
                  spids: [8884 8885 8927 -1]
                )
                (case_arm
                  pat_list: [{(execute)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-dlopen'\n") ('flags.\n') ('\n') 
                          (
'If any of the ARGS are libtool executable wrappers, then they are translated\n'
                          ) ('into their corresponding uninstalled binary, and any of their required library\n') 
                          ('directories are added to the library path.\n') ('\n') ('Then, COMMAND is executed, with ARGS as arguments.')
                        )
                      }
                    )
                  ]
                  spids: [8931 8932 8962 -1]
                )
                (case_arm
                  pat_list: [{(finish)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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 ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("--dry-run' option if you just want to see what would be executed.")
                        )
                      }
                    )
                  ]
                  spids: [8966 8967 8989 -1]
                )
                (case_arm
                  pat_list: [{(install)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("install' or ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("cp' program.\n") ('\n') ('The following components of INSTALL-COMMAND are treated specially:\n') 
                          ('\n') ('  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation\n') ('\n') 
                          (
'The rest of the components are interpreted as arguments to that command (only\n'
                          ) ('BSD-compatible install options are recognized).')
                        )
                      }
                    )
                  ]
                  spids: [8993 8994 9023 -1]
                )
                (case_arm
                  pat_list: [{(link)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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      ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("-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 ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-') are ignored.\n") ('\n') ('Every other argument is treated as a filename.  Files ending in ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".la', then a libtool library is created,\n") ('only library objects (') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".lo' files) may be specified, and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-rpath' is\n") 
                          ('required, except when creating a convenience library.\n') ('\n') ('If OUTPUT-FILE ends in ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".a' or ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".lib', then a standard library is created\n") ('using ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("ar' and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("ranlib', or on Windows using ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("lib'.\n") ('\n') ('If OUTPUT-FILE ends in ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".lo' or ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (.) (${ VSub_Name objext) 
                          ("', then a reloadable object file\n") ('is created, otherwise an executable program is created.')
                        )
                      }
                    )
                  ]
                  spids: [9027 9028 9133 -1]
                )
                (case_arm
                  pat_list: [{(uninstall)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("/bin/rm').  RM-OPTIONS are options (such as ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-f') to be passed\n") ('to RM.\n') ('\n') 
                          (
'If FILE is a libtool library, all the files associated with it are deleted.\n'
                          ) ('Otherwise, only FILE itself is deleted using RM.')
                        )
                      }
                    )
                  ]
                  spids: [9137 9138 9164 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_help)} 
                      {
                        (DQ ('invalid operation mode ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$mode') ("'")
                        )
                      }
                    )
                  ]
                  spids: [9168 9169 9182 -1]
                )
              ]
              spids: [8826 8830 9185]
            )
            (C {(echo)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  ($ VSub_Name '$progname') (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [8819]
        )
      spids: [8814 8818]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {($ VSub_Name '$opt_help')}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$opt_help'))} {(Lit_Other '=')} {(Lit_Other ':')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(func_mode_help)})]
                  spids: [-1 9228]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: False
                          body: (DoGroup children:[(C {(func_mode_help)})] spids:[92669272])
                          spids: [9250 9264]
                        )
                      ]
                      spids: [9237]
                    )
                    (C {(sed)} {(-n)} {(SQ <'1p; 2,$s/^Usage:/  or: /p'>)})
                  ]
                  negated: False
                )
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [(C {(echo)}) (C {(func_mode_help)})]
                              spids: [9317 9326]
                            )
                          spids: [9301 9315]
                        )
                      ]
                      spids: [9288]
                    )
                    (C {(sed)} 
                      {
                        (SQ <'1d\n'> <'      /^When reporting/,/^Report/{\n'> <'\tH\n'> <'\td\n'> 
                          <'      }\n'> <'      $x\n'> <'      /information about other modes/d\n'> <'      /more detailed .*MODE/d\n'> 
                          <'      s/^Usage:.*--mode=\\([^ ]*\\) .*/Description of \\1 mode:/'>
                        )
                      }
                    )
                  ]
                  negated: False
                )
              ]
              spids: [9234 9349]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [-1 9212]
        )
      ]
      spids: [-1 9356]
    )
    (FuncDef
      name: func_mode_execute
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [9378]
                )
              ]
              spids: [9378]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$cmd'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a COMMAND'))})
              ]
              op_id: Op_DAmp
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$execute_dlfiles')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                        (C {(func_fatal_help)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ($ VSub_Name '$file') ("' is not a file")
                            )
                          }
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(SQ )} spids:[9442])]
                      spids: [9442]
                    )
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [9485]
                                )
                              ]
                              spids: [9485]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [9488]
                                )
                              ]
                              spids: [9488]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                        (C {(func_warning)} 
                                          {
                                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                              ($ VSub_Name '$file') ("' was not linked with ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-export-dynamic'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 9514]
                                )
                              ]
                              spids: [-1 9547]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [9565]
                                )
                              ]
                              spids: [9565]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir') (/) 
                                              ($ VSub_Name '$dlname')
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir'))}
                                          spids: [9590]
                                        )
                                      ]
                                      spids: [9590]
                                    )
                                  ]
                                  spids: [-1 9587]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(KW_Bang '!')} {(-f)} 
                                              {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$dlname'))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('cannot find ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$dlname') ("' in ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                              ($ VSub_Name '$dir') ("' or ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$dir') (/) 
                                              ($ VSub_Name '$objdir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [-1 9616]
                                    )
                                  ]
                                  spids: [-1 9637]
                                )
                              ]
                              spids: [9598 9640]
                            )
                          ]
                          spids: [9452 9454 9643 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [9670]
                                )
                              ]
                              spids: [9670]
                            )
                          ]
                          spids: [9647 9649 9676 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-dlopen' is ignored for non-libtool libraries and objects")
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [9680 9681 9695 -1]
                        )
                      ]
                      spids: [9445 9449 9698]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:absdir)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (AndOr
                                        children: [(C {(cd)} {(DQ ($ VSub_Name '$dir'))}) (C {(pwd)})]
                                        op_id: Op_DAmp
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [9707 9717]
                              )
                            }
                          spids: [9706]
                        )
                      ]
                      spids: [9706]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$absdir'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$absdir'))}
                              spids: [9730]
                            )
                          ]
                          spids: [9730]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(eval)} {(test)} {(-z)} 
                                  {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\$'>
                                    ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {($ VSub_Name '$shlibpath_var') (Lit_Other '=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\$'>
                                ) (dir)
                              }
                            )
                          ]
                          spids: [-1 9755]
                        )
                      ]
                      else_action: [
                        (C {(eval)} 
                          {($ VSub_Name '$shlibpath_var') (Lit_Other '=') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (dir) (Lit_Other ':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var')
                          }
                        )
                      ]
                      spids: [9766 9780]
                    )
                  ]
                  spids: [9417 9783]
                )
              spids: [9413 9415]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [9795]
                )
              ]
              spids: [9795]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[9806])]
              spids: [9806]
            )
            (ForEach
              iter_name: file
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(-) (Lit_Other '*')}
                            {(Lit_Other '*') (.la)}
                            {(Lit_Other '*') (.lo)}
                          ]
                          spids: [9824 9837 9839 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$program'))
                                            }
                                          spids: [9873]
                                        )
                                      ]
                                      spids: [9873]
                                    )
                                  ]
                                  spids: [-1 9859]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_ltwrapper_scriptname)} {(DQ ($ VSub_Name '$file'))})
                                    (C {(func_source)} 
                                      {(DQ ($ VSub_Name '$func_ltwrapper_scriptname_result'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$program'))
                                            }
                                          spids: [9911]
                                        )
                                      ]
                                      spids: [9911]
                                    )
                                  ]
                                  spids: [9881 9890]
                                )
                              ]
                              spids: [-1 9919]
                            )
                          ]
                          spids: [9842 9843 9922 -1]
                        )
                      ]
                      spids: [9817 9821 9925]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$args') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [9939]
                        )
                      ]
                      spids: [9939]
                    )
                  ]
                  spids: [9814 9947]
                )
              spids: [-1 -1]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (X) ($ VSub_Name '$opt_dry_run'))} {(Lit_Other '=')} {(Xfalse)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(eval)} {(DQ ('export ') ($ VSub_Name '$shlibpath_var'))})]
                          spids: [-1 9979]
                        )
                      ]
                      spids: [-1 9994]
                    )
                    (ForEach
                      iter_name: lt_var
                      iter_words: [
                        {(LANG)}
                        {(LANGUAGE)}
                        {(LC_ALL)}
                        {(LC_CTYPE)}
                        {(LC_COLLATE)}
                        {(LC_MESSAGES)}
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(eval)} 
                              {
                                (DQ ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) ('{save_') ($ VSub_Name '$lt_var') ('+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  (' = set; then\n') ('                ') ($ VSub_Name '$lt_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  (save_) ($ VSub_Name '$lt_var') ('; export ') ($ VSub_Name '$lt_var') ('\n') ('\t      else\n') ('\t\t') 
                                  ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$lt_var') ('\n') ('\t      fi')
                                )
                              }
                            )
                          ]
                          spids: [10021 10054]
                        )
                      spids: [10007 -1]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (cmd) 
                                ($ VSub_Name '$args')
                              )
                            }
                          spids: [10062]
                        )
                      ]
                      spids: [10062]
                    )
                  ]
                  spids: [-1 9965]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(eval)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('shlibpath_var=') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\$'>
                              ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                            )
                          }
                        )
                        (C {(echo)} {(DQ ('export ') ($ VSub_Name '$shlibpath_var'))})
                      ]
                      spids: [-1 10088]
                    )
                  ]
                  spids: [-1 10113]
                )
                (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$cmd') ($ VSub_Name '$args'))})
                (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
              ]
              spids: [10070 10129]
            )
          ]
          spids: [9368]
        )
      spids: [9363 9367]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(execute)})
        (C {(func_mode_execute)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [10148 10154]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_mode_finish
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libdirs)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [10172]
                )
              ]
              spids: [10172]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:admincmds) op:Equal rhs:{(SQ )} spids:[10178])]
              spids: [10178]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$finish_cmds') ($ VSub_Name '$finish_eval'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdirs'))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: dir
                      do_arg_iter: True
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdirs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$libdirs') (' ') ($ VSub_Name '$dir'))}
                                  spids: [10215]
                                )
                              ]
                              spids: [10215]
                            )
                          ]
                          spids: [10212 10223]
                        )
                      spids: [-1 -1]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$libdirs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finish_cmds'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$finish_cmds'))} 
                                      {(SQ <'admincmds="$admincmds\n'>) (DQ ($ VSub_Name '$cmd')) 
                                        (SQ <'"'>)
                                      }
                                    )
                                  ]
                                  spids: [-1 10250]
                                )
                              ]
                              spids: [-1 10274]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finish_eval'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$finish_eval') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (C {(eval)} {(DQ ($ VSub_Name '$cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:admincmds)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$admincmds') ('\n') ('       ') 
                                                        ($ VSub_Name '$cmds')
                                                      )
                                                    }
                                                  spids: [10315]
                                                )
                                              ]
                                              spids: [10315]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 10288]
                                )
                              ]
                              spids: [-1 10324]
                            )
                          ]
                          spids: [10236 10327]
                        )
                      spids: [10232 10234]
                    )
                  ]
                  spids: [-1 10204]
                )
              ]
              spids: [-1 10330]
            )
            (AndOr
              children: [(C {($ VSub_Name '$opt_silent')}) (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})]
              op_id: Op_DAmp
            )
            (C {(echo)} {(DQ (----------------------------------------------------------------------))})
            (C {(echo)} {(DQ ('Libraries have been installed in:'))})
            (ForEach
              iter_name: libdir
              iter_words: [{($ VSub_Name '$libdirs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [(C {($ VSub_Name '$ECHO')} {(DQ ('   ') ($ VSub_Name '$libdir'))})]
                  spids: [10371 10382]
                )
              spids: [10367 10369]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('If you ever happen to want to link against installed libraries'))})
            (C {(echo)} {(DQ ('in a given directory, LIBDIR, you must either use libtool, and'))})
            (C {(echo)} 
              {
                (DQ ('specify the full pathname of the library, or use the ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-LLIBDIR'")
                )
              }
            )
            (C {(echo)} {(DQ ('flag during linking and do at least one of the following:'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('   - add LIBDIR to the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$shlibpath_var') ("' environment variable")
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('     during execution'))})
                  ]
                  spids: [-1 10429]
                )
              ]
              spids: [-1 10449]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('   - add LIBDIR to the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$runpath_var') ("' environment variable")
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('     during linking'))})
                  ]
                  spids: [-1 10463]
                )
              ]
              spids: [-1 10483]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libdir)
                          op: Equal
                          rhs: {(LIBDIR)}
                          spids: [10500]
                        )
                      ]
                      spids: [10500]
                    )
                    (C {(eval)} 
                      {
                        (DQ ('flag=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                        )
                      }
                    )
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('   - use the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ($ VSub_Name '$flag') ("' linker flag")
                        )
                      }
                    )
                  ]
                  spids: [-1 10497]
                )
              ]
              spids: [-1 10525]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$admincmds'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('   - have your system administrator run these commands:') 
                          ($ VSub_Name '$admincmds')
                        )
                      }
                    )
                  ]
                  spids: [-1 10539]
                )
              ]
              spids: [-1 10550]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-f)} {(/etc/ld.so.conf)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('   - have your system administrator add LIBDIR to ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("/etc/ld.so.conf'")
                        )
                      }
                    )
                  ]
                  spids: [-1 10562]
                )
              ]
              spids: [-1 10574]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('See any operating system documentation about shared libraries for'))})
            (Case
              to_match: {($ VSub_Name '$host')}
              arms: [
                (case_arm
                  pat_list: [
                    {(solaris2.) (Lit_Other '[') (6789) (Lit_Other ']')}
                    {(solaris2.1) (Lit_Other '[') (0-9) (Lit_Other ']')}
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('more information, such as the ld(1), crle(1) and ld.so(8) manual'))}
                    )
                    (C {(echo)} {(DQ (pages.))})
                  ]
                  spids: [10595 10604 10621 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(echo)} 
                      {(DQ ('more information, such as the ld(1) and ld.so(8) manual pages.'))}
                    )
                  ]
                  spids: [10624 10625 10635 -1]
                )
              ]
              spids: [10588 10592 10638]
            )
            (C {(echo)} {(DQ (----------------------------------------------------------------------))})
            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
          ]
          spids: [10166]
        )
      spids: [10161 10165]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(finish)})
        (C {(func_mode_finish)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [10669 10675]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_mode_install
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$nonopt'))} {(Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$SHELL'))}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$nonopt'))} {(Lit_Other '=')} {(/bin/sh)})
                                (Case
                                  to_match: {($ VSub_Name '$nonopt')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(Lit_Other '*') (shtool) (Lit_Other '*')}]
                                      action: [(C {(Lit_Other ':')})]
                                      spids: [10740 10743 10746 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [(C {(false)})]
                                      spids: [10748 10749 10752 -1]
                                    )
                                  ]
                                  spids: [10734 10738 10754]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$nonopt'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_prog)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result') (' '))}
                          spids: [10771]
                        )
                      ]
                      spids: [10771]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [10778]
                        )
                      ]
                      spids: [10778]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 10757]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [10788]
                    )
                  ]
                  spids: [10788]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name '$nonopt')}
                      spids: [10791]
                    )
                  ]
                  spids: [10791]
                )
              ]
              spids: [10785 10795]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_prog)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$install_prog') ($ VSub_Name '$func_quote_for_eval_result'))}
                  spids: [10814]
                )
              ]
              spids: [10814]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_shared_prog)
                  op: Equal
                  rhs: {($ VSub_Name '$install_prog')}
                  spids: [10821]
                )
              ]
              spids: [10821]
            )
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$install_prog') (' '))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (/) (Lit_Other ']') (cp) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [10847]
                        )
                      ]
                      spids: [10847]
                    )
                  ]
                  spids: [10836 10845 10850 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(false)}
                          spids: [10856]
                        )
                      ]
                      spids: [10856]
                    )
                  ]
                  spids: [10853 10854 10859 -1]
                )
              ]
              spids: [10825 10833 10862]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(SQ )} spids:[10870])]
              spids: [10870]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[10873])]
              spids: [10873]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(SQ )} spids:[10876])]
              spids: [10876]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[10879])]
              spids: [10879]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [10882]
                )
              ]
              spids: [10882]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(no)} spids:[10885])]
              spids: [10885]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:stripme) op:Equal rhs:{(SQ )} spids:[10889])]
              spids: [10889]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [10892]
                )
              ]
              spids: [10892]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg2)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [10904]
                        )
                      ]
                      spids: [10904]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dest'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:files)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$files') (' ') ($ VSub_Name '$dest'))}
                                  spids: [10921]
                                )
                              ]
                              spids: [10921]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dest)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [10929]
                                )
                              ]
                              spids: [10929]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 10918]
                        )
                      ]
                      spids: [-1 10936]
                    )
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-d)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:isdir)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [10950]
                                )
                              ]
                              spids: [10950]
                            )
                          ]
                          spids: [10947 10948 10953 -1]
                        )
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {($ VSub_Name '$install_cp')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: (C {(Lit_Other ':')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  spids: [-1 10965]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [10973]
                                    )
                                  ]
                                  spids: [10973]
                                )
                              ]
                              spids: [10970 10977]
                            )
                          ]
                          spids: [10956 10957 10980 -1]
                        )
                        (case_arm
                          pat_list: [{(-g)} {(-m)} {(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [10995]
                                )
                              ]
                              spids: [10995]
                            )
                          ]
                          spids: [10983 10992 10999 -1]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (' -s'))}
                                  spids: [11006]
                                )
                              ]
                              spids: [11006]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11002 11003 11015 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [11018 11020 11023 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ (x) ($ VSub_Name '$prev'))} 
                                                      {(Lit_Other '=')} {(x-m)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$install_override_mode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg2)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$install_override_mode')}
                                                  spids: [11075]
                                                )
                                              ]
                                              spids: [11075]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [11079]
                                                )
                                              ]
                                              spids: [11079]
                                            )
                                          ]
                                          spids: [-1 11072]
                                        )
                                      ]
                                      spids: [-1 11083]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11086]
                                        )
                                      ]
                                      spids: [11086]
                                    )
                                  ]
                                  spids: [-1 11045]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [11092]
                                    )
                                  ]
                                  spids: [11092]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [11089 11099]
                            )
                          ]
                          spids: [11026 11027 11102 -1]
                        )
                      ]
                      spids: [10940 10944 11105]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_prog)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$install_prog') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [11120]
                        )
                      ]
                      spids: [11120]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$arg2'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg2'))})]
                          spids: [-1 11139]
                        )
                      ]
                      spids: [-1 11149]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_shared_prog)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$install_shared_prog') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [11152]
                        )
                      ]
                      spids: [11152]
                    )
                  ]
                  spids: [10901 11160]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$install_prog'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an install program'))})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {
                    (DQ ('the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$prev') ("' option requires an argument")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$install_override_mode'))})
                            (C {($ VSub_Name '$no_mode')})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$install_cp')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                          spids: [-1 11230]
                        )
                      ]
                      else_action: [
                        (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$install_override_mode'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:install_shared_prog)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name '$install_shared_prog') (' -m ') 
                                    ($ VSub_Name '$func_quote_for_eval_result')
                                  )
                                }
                              spids: [11245]
                            )
                          ]
                          spids: [11245]
                        )
                      ]
                      spids: [11235 11253]
                    )
                  ]
                  spids: [-1 11222]
                )
              ]
              spids: [-1 11256]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$files'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dest'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_fatal_help)} {(DQ ('no file or destination specified'))})]
                          spids: [-1 11285]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ('you must specify a destination'))})]
                      spids: [11295 11305]
                    )
                  ]
                  spids: [-1 11271]
                )
              ]
              spids: [-1 11308]
            )
            (C {(func_stripname)} {(SQ )} {(SQ </>)} {(DQ ($ VSub_Name '$dest'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest)
                  op: Equal
                  rhs: {($ VSub_Name '$func_stripname_result')}
                  spids: [11330]
                )
              ]
              spids: [11330]
            )
            (AndOr
              children: [
                (C {(test)} {(-d)} {(DQ ($ VSub_Name '$dest'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(yes)} spids:[11349])]
                  spids: [11349]
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$isdir'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dest'))}
                          spids: [11369]
                        )
                      ]
                      spids: [11369]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [11375]
                        )
                      ]
                      spids: [11375]
                    )
                  ]
                  spids: [-1 11366]
                )
              ]
              else_action: [
                (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$dest'))} {(DQ )} {(DQ (.))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destdir)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                      spids: [11395]
                    )
                  ]
                  spids: [11395]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                      spids: [11401]
                    )
                  ]
                  spids: [11401]
                )
                (Sentence
                  child: (C {(set)} {(dummy)} {($ VSub_Name '$files')})
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(1)})
                    (C {(func_fatal_help)} 
                      {
                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$dest') 
                          ("' is not a directory")
                        )
                      }
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              spids: [11378 11445]
            )
            (Case
              to_match: {($ VSub_Name '$destdir')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                    {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                    }
                  ]
                  spids: [11455 11472 11474 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$files')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.lo)}]
                                  spids: [11500 11502 11504 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Name '$destdir') ("' must be an absolute directory name")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [11507 11508 11520 -1]
                                )
                              ]
                              spids: [11493 11497 11523]
                            )
                          ]
                          spids: [11490 11526]
                        )
                      spids: [11486 11488]
                    )
                  ]
                  spids: [11477 11478 11529 -1]
                )
              ]
              spids: [11448 11452 11532]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [11544]
                )
              ]
              spids: [11544]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:staticlibs) op:Equal rhs:{(SQ )} spids:[11551])]
              spids: [11551]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [11554]
                )
              ]
              spids: [11554]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [11557]
                )
              ]
              spids: [11557]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:staticlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$staticlibs') (' ') ($ VSub_Name '$file'))}
                                  spids: [11594]
                                )
                              ]
                              spids: [11594]
                            )
                          ]
                          spids: [11584 11587 11602 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$file') ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11635]
                                )
                              ]
                              spids: [11635]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11638]
                                )
                              ]
                              spids: [11638]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11641]
                                )
                              ]
                              spids: [11641]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$destdir'))} 
                                          {(Lit_Other '=')} {(DQ (X) ($ VSub_Name '$libdir'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$current_libdirs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [11686 11693 11695 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:current_libdirs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$current_libdirs') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [11701]
                                                )
                                              ]
                                              spids: [11701]
                                            )
                                          ]
                                          spids: [11698 11699 11708 -1]
                                        )
                                      ]
                                      spids: [11676 11683 11711]
                                    )
                                  ]
                                  spids: [-1 11673]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$future_libdirs') (' '))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                          (Lit_Other '*')
                                        }
                                      ]
                                      spids: [11731 11738 11740 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:future_libdirs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$future_libdirs') (' ') 
                                                    ($ VSub_Name '$libdir')
                                                  )
                                                }
                                              spids: [11746]
                                            )
                                          ]
                                          spids: [11746]
                                        )
                                      ]
                                      spids: [11743 11744 11753 -1]
                                    )
                                  ]
                                  spids: [11721 11728 11756]
                                )
                              ]
                              spids: [11714 11759]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ (/))} {(DQ )})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [11777]
                                )
                              ]
                              spids: [11777]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dir') ($ VSub_Name '$objdir'))}
                                  spids: [11783]
                                )
                              ]
                              spids: [11783]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$destdir'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ ('s%') ($ VSub_Name '$libdir') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\$'>
                                                                ) ('%%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [11810 11829]
                                              )
                                            }
                                          spids: [11809]
                                        )
                                      ]
                                      spids: [11809]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$inst_prefix_dir'))} 
                                          {(Lit_Other '=')} {(DQ ($ VSub_Name '$destdir'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('error: cannot install ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$file') ("' to a directory not ending in ") ($ VSub_Name '$libdir')
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$inst_prefix_dir'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$relink_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ 
                                                                        (
's%@inst_prefix_dir@%-inst-prefix-dir '
                                                                        ) ($ VSub_Name '$inst_prefix_dir') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [11904 11920]
                                                      )
                                                    }
                                                  spids: [11903]
                                                )
                                              ]
                                              spids: [11903]
                                            )
                                          ]
                                          spids: [-1 11896]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$relink_command'))
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {(DQ ('s%@inst_prefix_dir@%%'))}
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [11927 11941]
                                                  )
                                                }
                                              spids: [11926]
                                            )
                                          ]
                                          spids: [11926]
                                        )
                                      ]
                                      spids: [11923 11944]
                                    )
                                    (C {(func_warning)} 
                                      {
                                        (DQ ('relinking ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$file') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$relink_command'))} 
                                      {(SQ <'func_fatal_error "error: relink \\`$file'>) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\'">
                                        ) (SQ <' with the above command before installing it"'>)
                                      }
                                    )
                                  ]
                                  spids: [-1 11802]
                                )
                              ]
                              spids: [-1 11975]
                            )
                            (Sentence
                              child: (C {(set)} {(dummy)} {($ VSub_Name '$library_names')})
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:realname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$1'))}
                                          spids: [12007]
                                        )
                                      ]
                                      spids: [12007]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$realname'))}
                                          spids: [12017]
                                        )
                                      ]
                                      spids: [12017]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:srcname)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$realname')) (T)}
                                              spids: [12033]
                                            )
                                          ]
                                          spids: [12033]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_shared_prog') (' ') 
                                          ($ VSub_Name '$dir') (/) ($ VSub_Name '$srcname') (' ') ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tstripme)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$stripme'))}
                                          spids: [12066]
                                        )
                                      ]
                                      spids: [12066]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$host_os')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(cygwin) (Lit_Other '*')}
                                            {(mingw) (Lit_Other '*')}
                                            {(pw32) (Lit_Other '*')}
                                            {(cegcc) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name '$realname')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*') (.dll.a)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tstripme)
                                                          op: Equal
                                                          rhs: {(DQ )}
                                                          spids: [12111]
                                                        )
                                                      ]
                                                      spids: [12111]
                                                    )
                                                  ]
                                                  spids: [12106 12108 12116 -1]
                                                )
                                              ]
                                              spids: [12099 12103 12119]
                                            )
                                          ]
                                          spids: [12079 12096 12122 -1]
                                        )
                                      ]
                                      spids: [12072 12076 12125]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$tstripme'))})
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$striplib'))})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ($ VSub_Name '$striplib') (' ') 
                                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [-1 12149]
                                        )
                                      ]
                                      spids: [-1 12167]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: linkname
                                              do_arg_iter: True
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkname'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$realname'))}
                                                        )
                                                        (C {(func_show_eval)} 
                                                          {
                                                            (DQ ('(cd ') ($ VSub_Name '$destdir') 
                                                              (' && { ') ($ VSub_Name '$LN_S') (' -f ') ($ VSub_Name '$realname') (' ') ($ VSub_Name '$linkname') (' || { ') 
                                                              ($ VSub_Name '$RM') (' ') ($ VSub_Name '$linkname') (' && ') ($ VSub_Name '$LN_S') (' ') ($ VSub_Name '$realname') (' ') 
                                                              ($ VSub_Name '$linkname') ('; }; })')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [12208 12253]
                                                )
                                              spids: [-1 -1]
                                            )
                                          ]
                                          spids: [-1 12184]
                                        )
                                      ]
                                      spids: [-1 12256]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$realname')
                                              )
                                            }
                                          spids: [12264]
                                        )
                                      ]
                                      spids: [12264]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postinstall_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [-1 12004]
                                )
                              ]
                              spids: [-1 12283]
                            )
                            (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                  spids: [12298]
                                )
                              ]
                              spids: [12298]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$name')) (i)}
                                  spids: [12304]
                                )
                              ]
                              spids: [12304]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$instname') (' ') 
                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:staticlibs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$staticlibs') (' ') ($ VSub_Name '$dir') (/) 
                                            ($ VSub_Name '$old_library')
                                          )
                                        }
                                      spids: [12345]
                                    )
                                  ]
                                  spids: [12345]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [11606 11608 12355 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$destname')
                                              )
                                            }
                                          spids: [12387]
                                        )
                                      ]
                                      spids: [12387]
                                    )
                                  ]
                                  spids: [-1 12384]
                                )
                              ]
                              else_action: [
                                (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                      spids: [12405]
                                    )
                                  ]
                                  spids: [12405]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile'))}
                                      spids: [12411]
                                    )
                                  ]
                                  spids: [12411]
                                )
                              ]
                              spids: [12395 12419]
                            )
                            (Case
                              to_match: {($ VSub_Name '$destfile')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.lo)}]
                                  action: [
                                    (C {(func_lo2o)} {(DQ ($ VSub_Name '$destfile'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdest)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_lo2o_result')}
                                          spids: [12446]
                                        )
                                      ]
                                      spids: [12446]
                                    )
                                  ]
                                  spids: [12434 12436 12450 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdest)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$destfile'))}
                                          spids: [12459]
                                        )
                                      ]
                                      spids: [12459]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [12465]
                                        )
                                      ]
                                      spids: [12465]
                                    )
                                  ]
                                  spids: [12453 12456 12468 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ('cannot copy a libtool object to ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$destfile') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [12471 12472 12485 -1]
                                )
                              ]
                              spids: [12427 12431 12488]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destfile'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$file') (' ') 
                                      ($ VSub_Name '$destfile')
                                    )
                                  } {(SQ <'exit $?'>)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_lo2o)} {(DQ ($ VSub_Name '$file'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticobj)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_lo2o_result')}
                                          spids: [12555]
                                        )
                                      ]
                                      spids: [12555]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('staticobj ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (staticdest)
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [-1 12541]
                                )
                              ]
                              spids: [-1 12575]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [12359 12361 12583 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$destname')
                                              )
                                            }
                                          spids: [12609]
                                        )
                                      ]
                                      spids: [12609]
                                    )
                                  ]
                                  spids: [-1 12606]
                                )
                              ]
                              else_action: [
                                (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                      spids: [12627]
                                    )
                                  ]
                                  spids: [12627]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile'))}
                                      spids: [12633]
                                    )
                                  ]
                                  spids: [12633]
                                )
                              ]
                              spids: [12617 12641]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [12657]
                                )
                              ]
                              spids: [12657]
                            )
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.exe)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                  {(DQ ($ VSub_Name '$file'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name '$file'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:file)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [12704]
                                                )
                                              ]
                                              spids: [12704]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(DQ (.exe))}
                                                  spids: [12708]
                                                )
                                              ]
                                              spids: [12708]
                                            )
                                          ]
                                          spids: [-1 12687]
                                        )
                                      ]
                                      spids: [-1 12714]
                                    )
                                  ]
                                  spids: [12669 12671 12717 -1]
                                )
                              ]
                              spids: [12662 12666 12720]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(func_ltwrapper_executable_p)} 
                                                  {(DQ ($ VSub_Name '$file'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_ltwrapper_scriptname)} 
                                              {(DQ ($ VSub_Name '$file'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:wrapper)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                      )
                                                    }
                                                  spids: [12766]
                                                )
                                              ]
                                              spids: [12766]
                                            )
                                          ]
                                          spids: [-1 12756]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                          {(DQ ($ VSub_Name '$file'))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:wrapper)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_stripname_result')}
                                              spids: [12787]
                                            )
                                          ]
                                          spids: [12787]
                                        )
                                      ]
                                      spids: [12770 12791]
                                    )
                                  ]
                                  spids: [12735 12744 12794 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrapper)
                                          op: Equal
                                          rhs: {($ VSub_Name '$file')}
                                          spids: [12801]
                                        )
                                      ]
                                      spids: [12801]
                                    )
                                  ]
                                  spids: [12797 12798 12805 -1]
                                )
                              ]
                              spids: [12728 12732 12808]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name '$wrapper'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_deplibs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [12823]
                                        )
                                      ]
                                      spids: [12823]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [12826]
                                        )
                                      ]
                                      spids: [12826]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$generated_by_libtool_version'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('invalid libtool wrapper script ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$wrapper') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [12865]
                                        )
                                      ]
                                      spids: [12865]
                                    )
                                    (ForEach
                                      iter_name: lib
                                      iter_words: [{($ VSub_Name '$notinst_deplibs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [12885]
                                                )
                                              ]
                                              spids: [12885]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lib'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_source)} {(DQ ($ VSub_Name '$lib'))})
                                                  ]
                                                  spids: [-1 12899]
                                                )
                                              ]
                                              spids: [-1 12909]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libfile)
                                                  op: Equal
                                                  rhs: 
                                                    {(DQ ($ VSub_Name '$libdir') (/)) 
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {(DQ ($ VSub_Name '$lib'))}
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {(SQ <'s%^.*/%%g'>)}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [12917 12931]
                                                      )
                                                    }
                                                  spids: [12912]
                                                )
                                              ]
                                              spids: [12912]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                              {(DQ ($ VSub_Name '$libfile'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_warning)} 
                                                      {
                                                        (DQ 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ($ VSub_Name '$lib') ("' has not been installed in ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                          ($ VSub_Name '$libdir') ("'")
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [12975]
                                                        )
                                                      ]
                                                      spids: [12975]
                                                    )
                                                  ]
                                                  spids: [-1 12960]
                                                )
                                              ]
                                              spids: [-1 12979]
                                            )
                                          ]
                                          spids: [12878 12982]
                                        )
                                      spids: [12874 12876]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [12986]
                                        )
                                      ]
                                      spids: [12986]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [12997]
                                        )
                                      ]
                                      spids: [12997]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$relink_command'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {(DQ ($ VSub_Name '$finalize'))} {(Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:tmpdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(func_mktempdir)})
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [13050 13052]
                                                                      )
                                                                    }
                                                                  spids: [13049]
                                                                )
                                                              ]
                                                              spids: [13049]
                                                            )
                                                            (C {(func_basename)} 
                                                              {
                                                                (DQ ($ VSub_Name '$file') 
                                                                  ($ VSub_Name '$stripped_ext')
                                                                )
                                                              }
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [13063]
                                                                )
                                                              ]
                                                              spids: [13063]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$tmpdir') (/) 
                                                                        ($ VSub_Name '$file')
                                                                      )
                                                                    }
                                                                  spids: [13069]
                                                                )
                                                              ]
                                                              spids: [13069]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:relink_command)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$ECHO'
                                                                                      )
                                                                                    } {(DQ ($ VSub_Name '$relink_command'))}
                                                                                  )
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$SED'
                                                                                      )
                                                                                    } {(SQ <'s%@OUTPUT@%'>) (DQ ($ VSub_Name '$outputname')) (SQ <'%g'>)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [13082 13102]
                                                                      )
                                                                    }
                                                                  spids: [13081]
                                                                )
                                                              ]
                                                              spids: [13081]
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {($ VSub_Name '$opt_silent')})
                                                                (BraceGroup
                                                                  children: [
                                                                    (C {(func_quote_for_expand)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$relink_command'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(eval)} 
                                                                      {
                                                                        (DQ ('func_echo ') 
                                                                          ($ VSub_Name 
'$func_quote_for_expand_result'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [13110]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$relink_command'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ':')})]
                                                                  spids: [-1 13140]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_error)} 
                                                                  {
                                                                    (DQ ('error: relink ') 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$file') ("' with the above command before installing it")
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                                    (C {(${ VSub_Name RM) (r)} 
                                                                      {(DQ ($ VSub_Name '$tmpdir'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [13145 13175]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$outputname'))
                                                                    }
                                                                  spids: [13178]
                                                                )
                                                              ]
                                                              spids: [13178]
                                                            )
                                                          ]
                                                          spids: [-1 13046]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ('cannot relink ') 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\`'>
                                                              ) ($ VSub_Name '$file') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [13184 13197]
                                                    )
                                                  ]
                                                  spids: [13030]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 13023]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:file)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$file') 
                                                                    ($ VSub_Name '$stripped_ext')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\('>
                                                                    ) ('[^/]*') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (Lit_Other '$') ('%') 
                                                                    ($ VSub_Name '$objdir') (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\1'>) ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [13211 13235]
                                                  )
                                                }
                                              spids: [13210]
                                            )
                                          ]
                                          spids: [13210]
                                        )
                                      ]
                                      spids: [13203 13238]
                                    )
                                  ]
                                  spids: [-1 12820]
                                )
                              ]
                              spids: [-1 13241]
                            )
                            (Case
                              to_match: 
                                {($ VSub_Name '$install_prog') (Lit_Comma ',') ($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (/usr/bin/install) (Lit_Other '*') 
                                      (Lit_Comma ',') (Lit_Other '*') (cygwin) (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Case
                                      to_match: 
                                        {($ VSub_Name '$file') (Lit_Other ':') 
                                          ($ VSub_Name '$destfile')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.exe) (Lit_Other ':') (Lit_Other '*') 
                                              (.exe)
                                            }
                                          ]
                                          spids: [13281 13286 13293 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.exe) (Lit_Other ':') (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$destfile') (.exe)}
                                                  spids: [13303]
                                                )
                                              ]
                                              spids: [13303]
                                            )
                                          ]
                                          spids: [13296 13300 13308 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other ':') (Lit_Other '*') (.exe)}
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name '$destfile'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [13332]
                                                )
                                              ]
                                              spids: [13332]
                                            )
                                          ]
                                          spids: [13311 13315 13336 -1]
                                        )
                                      ]
                                      spids: [13272 13278 13339]
                                    )
                                  ]
                                  spids: [13262 13269 13342 -1]
                                )
                              ]
                              spids: [13253 13259 13345]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) ('stripme ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) (destfile)
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$outputname'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name '$tmpdir'))})
                                      ]
                                      spids: [-1 13380]
                                    )
                                  ]
                                  spids: [-1 13393]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [12587 12588 13396 -1]
                        )
                      ]
                      spids: [11577 11581 13399]
                    )
                  ]
                  spids: [11569 13402]
                )
              spids: [11565 11567]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$staticlibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                          spids: [13425]
                        )
                      ]
                      spids: [13425]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name'))}
                          spids: [13436]
                        )
                      ]
                      spids: [13436]
                    )
                    (C {(func_show_eval)} 
                      {
                        (DQ ($ VSub_Name '$install_prog') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (oldlib)
                        )
                      } {(SQ <'exit $?'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$stripme'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_striplib'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name '$old_striplib') (' ') ($ VSub_Name '$oldlib'))} {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [-1 13483]
                        )
                      ]
                      spids: [-1 13499]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$old_postinstall_cmds'))} 
                      {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [13415 13518]
                )
              spids: [13411 13413]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$future_libdirs'))})
                (C {(func_warning)} 
                  {
                    (DQ ('remember to run ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$progname') (' --finish') ($ VSub_Name '$future_libdirs') ("'")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$current_libdirs'))})
                            (C {($ VSub_Name '$opt_finish')})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:current_libdirs)
                              op: Equal
                              rhs: {(DQ (' -n') ($ VSub_Name '$current_libdirs'))}
                              spids: [13573]
                            )
                          ]
                          spids: [13573]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <'$SHELL $progpath $preserve_args --finish$current_libdirs'>)}
                          spids: [13580]
                        )
                      ]
                      spids: [13580]
                    )
                  ]
                  spids: [-1 13562]
                )
              ]
              else_action: [(C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})]
              spids: [13586 13594]
            )
          ]
          spids: [10687]
        )
      spids: [10682 10686]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(install)})
        (C {(func_mode_install)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [13613 13619]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_generate_dlsyms
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_outputname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [13643]
                )
              ]
              spids: [13643]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [13649]
                )
              ]
              spids: [13649]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_pic_p)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 3>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(no)})
                          spids: [13657 13661]
                        )
                      )
                    }
                  spids: [13655]
                )
              ]
              spids: [13655]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_prefix)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$my_originator'))})
                                  (C {(sed)} {(SQ <'s%[^a-zA-Z0-9]%_%g'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [13666 13680]
                      )
                    }
                  spids: [13665]
                )
              ]
              spids: [13665]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dlsyms) op:Equal rhs:{(SQ )} spids:[13683])]
              spids: [13683]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                            )
                            (C {(test)} {(DQ ($ VSub_Name '$dlself'))} {(KW_Bang '!') (Lit_Other '=')} 
                              {(no)}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$NM'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$global_symbol_pipe'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dlsyms)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name my_outputname) (S.c))}
                                  spids: [13739]
                                )
                              ]
                              spids: [13739]
                            )
                          ]
                          spids: [-1 13736]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ('not configured to extract global symbols from dlpreopened files'))}
                        )
                      ]
                      spids: [13748 13758]
                    )
                  ]
                  spids: [-1 13712]
                )
              ]
              spids: [-1 13761]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$my_dlsyms'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$my_dlsyms')}
                      arms: [
                        (case_arm pat_list:[{(DQ )}] spids:[-11378813790-1])
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.c)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nlist)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                        (${ VSub_Name my_outputname) (.nm)
                                      )
                                    }
                                  spids: [13802]
                                )
                              ]
                              spids: [13802]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$nlist') (' ') 
                                  (${ VSub_Name nlist) ('S ') (${ VSub_Name nlist) (T)
                                )
                              }
                            )
                            (C {(func_verbose)} 
                              {
                                (DQ ('creating ') ($ VSub_Name '$output_objdir') (/) 
                                  ($ VSub_Name '$my_dlsyms')
                                )
                              }
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$ECHO')}
                                    {
                                      (DQ ('/* ') ($ VSub_Name '$my_dlsyms') 
                                        (' - symbol resolution table for ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$my_outputname') 
                                        ("' dlsym emulation. */\n") ('/* Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') 
                                        ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$VERSION') (' */\n') ('\n') ('#ifdef __cplusplus\n') ('extern ') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (C) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' {\n') ('#endif\n') ('\n') 
                                        (
'#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))\n'
                                        ) ('#pragma GCC diagnostic ignored ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                        (-Wstrict-prototypes) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('#endif\n') ('\n') 
                                        ('/* External symbol declarations for the compiler. */')
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            ($ VSub_Name '$my_dlsyms')
                                          )
                                        }
                                      spids: [13854]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$dlself'))} {(Lit_Other '=')} 
                                          {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ('generating symbol list for ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$output') ("'")
                                        )
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <': @PROGRAM@ '>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [13938]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:progfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ ($ VSub_Name '$objs') 
                                                                ($ VSub_Name '$old_deplibs')
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SP2NL')})
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(DQ ($ VSub_Name '$lo2o'))}
                                                          )
                                                          (C {($ VSub_Name '$NL2SP')})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [13951 13974]
                                              )
                                            }
                                          spids: [13950]
                                        )
                                      ]
                                      spids: [13950]
                                    )
                                    (ForEach
                                      iter_name: progfile
                                      iter_words: [{($ VSub_Name '$progfiles')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ('extracting global C symbols from ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$progfile') ("'")
                                                )
                                              }
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name '$NM') (' ') 
                                                      ($ VSub_Name '$progfile') (' | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [13986 14017]
                                        )
                                      spids: [13982 13984]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$EGREP')}
                                                        {(-v)}
                                                        {
                                                          (DQ (' (') ($ VSub_Name '$exclude_expsyms') 
                                                            (')') (Lit_Other '$')
                                                          )
                                                        }
                                                        {(DQ ($ VSub_Name '$nlist'))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                          spids: [14057]
                                                        )
                                                      ]
                                                    )
                                                    (C {($ VSub_Name '$MV')} 
                                                      {(DQ ($ VSub_Name '$nlist')) (T)} {(DQ ($ VSub_Name '$nlist'))}
                                                    )
                                                  ]
                                                  spids: [14039]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 14032]
                                        )
                                      ]
                                      spids: [-1 14080]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$EGREP')}
                                                        {(-e)}
                                                        {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                        {(DQ ($ VSub_Name '$nlist'))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                          spids: [14117]
                                                        )
                                                      ]
                                                    )
                                                    (C {($ VSub_Name '$MV')} 
                                                      {(DQ ($ VSub_Name '$nlist')) (T)} {(DQ ($ VSub_Name '$nlist'))}
                                                    )
                                                  ]
                                                  spids: [14102]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 14095]
                                        )
                                      ]
                                      spids: [-1 14140]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$export_symbols'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname') (.exp)
                                                      )
                                                    }
                                                  spids: [14162]
                                                )
                                              ]
                                              spids: [14162]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {($ VSub_Name '$RM')} 
                                                      {($ VSub_Name '$export_symbols')}
                                                    )
                                                    (SimpleCommand
                                                      words: [
                                                        {(${ VSub_Name SED)}
                                                        {(-n)}
                                                        {(-e)}
                                                        {(SQ <'/^: @PROGRAM@ $/d'>)}
                                                        {(-e)}
                                                        {(SQ <'s/^.* \\(.*\\)$/\\1/p'>)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                          spids: [14201]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {(DQ ($ VSub_Name '$export_symbols'))}
                                                          spids: [14207]
                                                        )
                                                      ]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name '$host')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                                          ]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [{(echo)} {(EXPORTS)}]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname') (.def)
                                                                      )
                                                                    }
                                                                  spids: [14244]
                                                                )
                                                              ]
                                                            )
                                                            (SimpleCommand
                                                              words: [
                                                                {(cat)}
                                                                {
                                                                  (DQ ($ VSub_Name '$export_symbols'))
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_DGreat
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname') (.def)
                                                                      )
                                                                    }
                                                                  spids: [14260]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [14221 14237 14270 -1]
                                                        )
                                                      ]
                                                      spids: [14214 14218 14273]
                                                    )
                                                  ]
                                                  spids: [14175]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 14159]
                                        )
                                      ]
                                      else_action: [
                                        (AndOr
                                          children: [
                                            (C {($ VSub_Name '$opt_dry_run')})
                                            (BraceGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(${ VSub_Name SED)}
                                                    {(-e)}
                                                    {(SQ <'s/\\([].[*^$]\\)/\\\\\\1/g'>)}
                                                    {(-e)}
                                                    {(SQ <'s/^/ /'>)}
                                                    {(-e)}
                                                    {(SQ <'s/$/$/'>)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: -1
                                                      arg_word: {(DQ ($ VSub_Name '$export_symbols'))}
                                                      spids: [14311]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: 
                                                        {
                                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                                            ($ VSub_Name '$outputname') (.exp)
                                                          )
                                                        }
                                                      spids: [14317]
                                                    )
                                                  ]
                                                )
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$GREP')}
                                                    {(-f)}
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname') (.exp)
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: -1
                                                      arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                      spids: [14338]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                      spids: [14344]
                                                    )
                                                  ]
                                                )
                                                (C {($ VSub_Name '$MV')} 
                                                  {(DQ ($ VSub_Name '$nlist')) (T)} {(DQ ($ VSub_Name '$nlist'))}
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name '$host')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                                        {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                                        {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                                      ]
                                                      action: [
                                                        (SimpleCommand
                                                          words: [{(echo)} {(EXPORTS)}]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_Great
                                                              fd: -1
                                                              arg_word: 
                                                                {
                                                                  (DQ ($ VSub_Name '$output_objdir') 
                                                                    (/) ($ VSub_Name '$outputname') (.def)
                                                                  )
                                                                }
                                                              spids: [14394]
                                                            )
                                                          ]
                                                        )
                                                        (SimpleCommand
                                                          words: [{(cat)} {(DQ ($ VSub_Name '$nlist'))}]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_DGreat
                                                              fd: -1
                                                              arg_word: 
                                                                {
                                                                  (DQ ($ VSub_Name '$output_objdir') 
                                                                    (/) ($ VSub_Name '$outputname') (.def)
                                                                  )
                                                                }
                                                              spids: [14410]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      spids: [14371 14387 14420 -1]
                                                    )
                                                  ]
                                                  spids: [14364 14368 14423]
                                                )
                                              ]
                                              spids: [14286]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [14279 14429]
                                    )
                                  ]
                                  spids: [-1 13914]
                                )
                              ]
                              spids: [-1 14432]
                            )
                            (ForEach
                              iter_name: dlprefile
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ('extracting global C symbols from ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$dlprefile') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$dlprefile'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:name)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                          spids: [14465]
                                        )
                                      ]
                                      spids: [14465]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$ECHO')}
                                                {(DQ (': ') ($ VSub_Name '$name') (' '))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [14486]
                                                )
                                              ]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name '$NM') (' ') 
                                                  ($ VSub_Name '$dlprefile') (' 2>/dev/null | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [14475]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [14445 14510]
                                )
                              spids: [14441 14443]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist'))})
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [14537]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$EGREP')}
                                                {(-v)}
                                                {
                                                  (DQ (' (') ($ VSub_Name '$exclude_expsyms') (')') 
                                                    (Lit_Other '$')
                                                  )
                                                }
                                                {(DQ ($ VSub_Name '$nlist'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                  spids: [14574]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name '$MV')} {(DQ ($ VSub_Name '$nlist')) (T)} 
                                              {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                          spids: [-1 14556]
                                        )
                                      ]
                                      spids: [-1 14594]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$GREP')}
                                                        {(-v)}
                                                        {(DQ ('^: '))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                          spids: [14612]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_Less
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [14629]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [14632]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [14635]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [-1 14639]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other '+') (2)})]
                                                      spids: [14649 14658]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                                          spids: [14665]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [-1 14673]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$GREP')} {(-v)} {(DQ ('^: '))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [14690]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                              spids: [14696]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [14679 14704]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist')) (S)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(DQ ($ VSub_Name '$global_symbol_to_cdecl')) 
                                                (SQ <' < "$nlist"S >> "$output_objdir/$my_dlsyms"'>)
                                              }
                                            )
                                          ]
                                          spids: [-1 14720]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'/* NONE */'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    ($ VSub_Name '$my_dlsyms')
                                                  )
                                                }
                                              spids: [14742]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [14733 14751]
                                    )
                                    (SimpleCommand
                                      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
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [14757]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (SimpleCommand
                                              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
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14804]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [14820]
                                                )
                                              ]
                                              spids: [14820]
                                            )
                                          ]
                                          spids: [14783 14799 14822 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (osf5) (Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ 
                                                    (
'/* This system does not cope well with relocations in const data */'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14833]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [14847]
                                                )
                                              ]
                                              spids: [14847]
                                            )
                                          ]
                                          spids: [14825 14828 14849 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(const)}
                                                  spids: [14856]
                                                )
                                              ]
                                              spids: [14856]
                                            )
                                          ]
                                          spids: [14852 14853 14859 -1]
                                        )
                                      ]
                                      spids: [14776 14780 14862]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ('extern ') ($ VSub_Name '$lt_dlsym_const') 
                                            (' lt_dlsymlist\n') (lt_) (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols[];\n') ($ VSub_Name '$lt_dlsym_const') 
                                            (' lt_dlsymlist\n') (lt_) (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols[] =\n') ('{') ('  { ') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$my_originator') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (', (void *) 0 },')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [14868]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$need_lib_prefix')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(no)}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name '$global_symbol_to_c_name_address')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [14921]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14927]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [14911 14912 14936 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name 
'$global_symbol_to_c_name_address_lib_prefix'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [14949]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14955]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [14939 14940 14964 -1]
                                        )
                                      ]
                                      spids: [14904 14908 14967]
                                    )
                                    (SimpleCommand
                                      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_') 
                                            (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols;\n') ('}\n') ('#endif\n') ('\n') ('#ifdef __cplusplus\n') ('}\n') ('#endif')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [14972]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [14518]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15010]
                                )
                              ]
                              spids: [15010]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$compile_command') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (DQ (' -static ')) (Lit_Other '*')}]
                                  spids: [15023 15028 15030 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd3.0) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsdelf3.0) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$pic_flag') 
                                                        (' -DFREEBSD_WORKAROUND')
                                                      )
                                                    }
                                                  spids: [15084]
                                                )
                                              ]
                                              spids: [15084]
                                            )
                                          ]
                                          spids: [15064 15081 15091 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-hpux) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: {(DQ (' ') ($ VSub_Name '$pic_flag'))}
                                                  spids: [15102]
                                                )
                                              ]
                                              spids: [15102]
                                            )
                                          ]
                                          spids: [15094 15099 15108 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (X) ($ VSub_Name '$my_pic_p'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(Xno)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pic_flag_for_symtable)
                                                          op: Equal
                                                          rhs: {(DQ (' ') ($ VSub_Name '$pic_flag'))}
                                                          spids: [15133]
                                                        )
                                                      ]
                                                      spids: [15133]
                                                    )
                                                  ]
                                                  spids: [-1 15130]
                                                )
                                              ]
                                              spids: [-1 15140]
                                            )
                                          ]
                                          spids: [15111 15112 15143 -1]
                                        )
                                      ]
                                      spids: [15037 15041 15146]
                                    )
                                  ]
                                  spids: [15033 15034 15149 -1]
                                )
                              ]
                              spids: [15013 15020 15152]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15155]
                                )
                              ]
                              spids: [15155]
                            )
                            (ForEach
                              iter_name: arg
                              iter_words: [{($ VSub_Name '$LTCFLAGS')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                          spids: [15177 15186 15188 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:symtab_cflags)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$symtab_cflags') (' ') 
                                                        ($ VSub_Name '$arg')
                                                      )
                                                    }
                                                  spids: [15194]
                                                )
                                              ]
                                              spids: [15194]
                                            )
                                          ]
                                          spids: [15191 15192 15201 -1]
                                        )
                                      ]
                                      spids: [15170 15174 15204]
                                    )
                                  ]
                                  spids: [15167 15207]
                                )
                              spids: [15163 15165]
                            )
                            (C {(func_show_eval)} 
                              {
                                (SQ 
                                  <
'(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")'
                                  >
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (C {(func_show_eval)} 
                              {
                                (SQ 
                                  <
'$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
                                  >
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symfileobj)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                        (${ VSub_Name my_outputname) (S.) ($ VSub_Name '$objext')
                                      )
                                    }
                                  spids: [15243]
                                )
                              ]
                              spids: [15243]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$my_outputname') (.def)
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$compile_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [15299 15319]
                                                      )
                                                    }
                                                  spids: [15298]
                                                )
                                              ]
                                              spids: [15298]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [15323 15343]
                                                      )
                                                    }
                                                  spids: [15322]
                                                )
                                              ]
                                              spids: [15322]
                                            )
                                          ]
                                          spids: [-1 15295]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compile_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$compile_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [15350 15366]
                                                  )
                                                }
                                              spids: [15349]
                                            )
                                          ]
                                          spids: [15349]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:finalize_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$finalize_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [15370 15386]
                                                  )
                                                }
                                              spids: [15369]
                                            )
                                          ]
                                          spids: [15369]
                                        )
                                      ]
                                      spids: [15346 15389]
                                    )
                                  ]
                                  spids: [15262 15278 15392 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$compile_command'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [15400 15416]
                                              )
                                            }
                                          spids: [15399]
                                        )
                                      ]
                                      spids: [15399]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$finalize_command'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [15420 15436]
                                              )
                                            }
                                          spids: [15419]
                                        )
                                      ]
                                      spids: [15419]
                                    )
                                  ]
                                  spids: [15395 15396 15439 -1]
                                )
                              ]
                              spids: [15255 15259 15442]
                            )
                          ]
                          spids: [13793 13795 15445 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ ('unknown suffix for ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ($ VSub_Name '$my_dlsyms') ("'")
                                )
                              }
                            )
                          ]
                          spids: [15448 15449 15462 -1]
                        )
                      ]
                      spids: [13779 13783 15465]
                    )
                  ]
                  spids: [-1 13776]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:compile_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$compile_command'))})
                                      (C {($ VSub_Name '$SED')} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [15489 15503]
                          )
                        }
                      spids: [15488]
                    )
                  ]
                  spids: [15488]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:finalize_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} 
                                        {(DQ ($ VSub_Name '$finalize_command'))}
                                      )
                                      (C {($ VSub_Name '$SED')} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [15507 15521]
                          )
                        }
                      spids: [15506]
                    )
                  ]
                  spids: [15506]
                )
              ]
              spids: [15468 15524]
            )
          ]
          spids: [13637]
        )
      spids: [13632 13636]
    )
    (FuncDef
      name: func_win32_libid
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_libid_type)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [15561]
                )
              ]
              spids: [15561]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_fileres)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(file)} {(-L)} {($ VSub_Number '$1')}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [15575]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [15568 15577]
                      )
                    }
                  spids: [15567]
                )
              ]
              spids: [15567]
            )
            (Case
              to_match: {($ VSub_Name '$win32_fileres')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (ar) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (archive) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (import) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (library) (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:win32_libid_type)
                          op: Equal
                          rhs: {(DQ ('x86 archive import'))}
                          spids: [15602]
                        )
                      ]
                      spids: [15602]
                    )
                  ]
                  spids: [15587 15596 15608 -1]
                )
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (ar) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (archive) 
                      (Lit_Other '*')
                    }
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {($ VSub_Name '$OBJDUMP')} {(-f)} {(DQ ($ VSub_Number '$1'))})
                                    (SimpleCommand
                                      words: [{($ VSub_Name '$SED')} {(-e)} {(SQ <10q>)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [15642]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$EGREP')}
                                        {
                                          (SQ 
                                            <
'file format (pe-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
                                            >
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [15654]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: False
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_nmres)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$NM')} {(-f)} {(posix)} {(-A)} 
                                                    {(DQ ($ VSub_Number '$1'))}
                                                  )
                                                  (C {($ VSub_Name '$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    }'>
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [15662 15694]
                                      )
                                    }
                                  spids: [15661]
                                )
                              ]
                              spids: [15661]
                            )
                            (Case
                              to_match: {($ VSub_Name '$win32_nmres')}
                              arms: [
                                (case_arm
                                  pat_list: [{(import) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:win32_libid_type)
                                          op: Equal
                                          rhs: {(DQ ('x86 archive import'))}
                                          spids: [15708]
                                        )
                                      ]
                                      spids: [15708]
                                    )
                                  ]
                                  spids: [15704 15706 15712 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:win32_libid_type)
                                          op: Equal
                                          rhs: {(DQ ('x86 archive static'))}
                                          spids: [15718]
                                        )
                                      ]
                                      spids: [15718]
                                    )
                                  ]
                                  spids: [15715 15716 15722 -1]
                                )
                              ]
                              spids: [15697 15701 15725]
                            )
                          ]
                          spids: [-1 15658]
                        )
                      ]
                      spids: [-1 15728]
                    )
                  ]
                  spids: [15611 15616 15731 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (DLL) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:win32_libid_type)
                          op: Equal
                          rhs: {(DQ ('x86 DLL'))}
                          spids: [15740]
                        )
                      ]
                      spids: [15740]
                    )
                  ]
                  spids: [15734 15737 15746 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (executable) (Lit_Other '*')}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$win32_fileres')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (MS) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) 
                              (Windows) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (PE) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\ '>
                              ) (Intel) (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_libid_type)
                                  op: Equal
                                  rhs: {(DQ ('x86 DLL'))}
                                  spids: [15777]
                                )
                              ]
                              spids: [15777]
                            )
                          ]
                          spids: [15765 15774 15783 -1]
                        )
                      ]
                      spids: [15758 15762 15786]
                    )
                  ]
                  spids: [15749 15752 15789 -1]
                )
              ]
              spids: [15580 15584 15792]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$win32_libid_type'))})
          ]
          spids: [15555]
        )
      spids: [15550 15554]
    )
    (FuncDef
      name: func_extract_an_archive
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:f_ex_an_ar_dir)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [15820]
                    )
                  ]
                  spids: [15820]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f_ex_an_ar_oldlib)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [15829]
                )
              ]
              spids: [15829]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$lock_old_archive_extraction'))} 
                          {(Lit_Other '=')} {(yes)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {($ VSub_Name '$f_ex_an_ar_oldlib') (.lock)}
                          spids: [15851]
                        )
                      ]
                      spids: [15851]
                    )
                    (Until
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [15872]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [15876 15893]
                        )
                    )
                  ]
                  spids: [-1 15848]
                )
              ]
              spids: [-1 15896]
            )
            (C {(func_show_eval)} 
              {
                (DQ ('(cd ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('f_ex_an_ar_dir && ') 
                  ($ VSub_Name '$AR') (' x ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (f_ex_an_ar_oldlib) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (')')
                )
              } {(SQ <'stat=$?; rm -f "$lockfile"; exit $stat'>)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$lock_old_archive_extraction'))} 
                          {(Lit_Other '=')} {(yes)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$lockfile'))})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 15934]
                )
              ]
              spids: [-1 15950]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name '$AR')} {(t)} {(DQ ($ VSub_Name '$f_ex_an_ar_oldlib'))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [15974]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [15977]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          spids: [15955 15979]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [-1 15982]
                )
              ]
              else_action: [
                (C {(func_fatal_error)} 
                  {
                    (DQ ('object name conflicts in archive: ') ($ VSub_Name '$f_ex_an_ar_dir') (/) 
                      ($ VSub_Name '$f_ex_an_ar_oldlib')
                    )
                  }
                )
              ]
              spids: [15988 16001]
            )
          ]
          spids: [15814]
        )
      spids: [15809 15813]
    )
    (FuncDef
      name: func_extract_archives
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_gentop)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [16021]
                    )
                  ]
                  spids: [16021]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_oldlibs)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                        spids: [16031 16037]
                      )
                    }
                  spids: [16030]
                )
              ]
              spids: [16030]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(DQ )} spids:[16040])]
              spids: [16040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(DQ )} spids:[16045])]
              spids: [16045]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(DQ )} spids:[16050])]
              spids: [16050]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(DQ )} spids:[16055])]
              spids: [16055]
            )
            (ForEach
              iter_name: my_xlib
              iter_words: [{($ VSub_Name '$my_oldlibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$my_xlib')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (/) (Lit_Other ']') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$my_xlib'))}
                                  spids: [16103]
                                )
                              ]
                              spids: [16103]
                            )
                          ]
                          spids: [16084 16101 16108 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(pwd)})])
                                        left_token: <Left_Backtick '`'>
                                        spids: [16115 16117]
                                      ) (DQ (/) ($ VSub_Name '$my_xlib'))
                                    }
                                  spids: [16114]
                                )
                              ]
                              spids: [16114]
                            )
                          ]
                          spids: [16111 16112 16123 -1]
                        )
                      ]
                      spids: [16077 16081 16126]
                    )
                    (C {(func_basename)} {(DQ ($ VSub_Name '$my_xlib'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                          spids: [16136]
                        )
                      ]
                      spids: [16136]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name '$my_xlib')}
                          spids: [16142]
                        )
                      ]
                      spids: [16142]
                    )
                    (While
                      cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$extracted_archives') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$my_xlib_u') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (C {(func_arith)} {($ VSub_Name '$extracted_serial')} 
                                      {(Lit_Other '+')} {(1)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:extracted_serial)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_arith_result')}
                                          spids: [16184]
                                        )
                                      ]
                                      spids: [16184]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:my_xlib_u)
                                          op: Equal
                                          rhs: 
                                            {(lt) ($ VSub_Name '$extracted_serial') (-) 
                                              ($ VSub_Name '$my_xlib')
                                            }
                                          spids: [16188]
                                        )
                                      ]
                                      spids: [16188]
                                    )
                                  ]
                                  spids: [16165 16172 16194 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [16197 16198 16202 -1]
                                )
                              ]
                              spids: [16154 16162 16205]
                            )
                          ]
                          spids: [16151 16208]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:extracted_archives)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$extracted_archives') (' ') ($ VSub_Name '$my_xlib_u'))
                            }
                          spids: [16211]
                        )
                      ]
                      spids: [16211]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$my_gentop') (/) ($ VSub_Name '$my_xlib_u'))}
                          spids: [16219]
                        )
                      ]
                      spids: [16219]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$my_xdir'))})
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (C {(func_verbose)} {(DQ ('Extracting ') ($ VSub_Name '$my_xabs'))})
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_orig_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick '`'>
                                                spids: [16269 16271]
                                              )
                                            }
                                          spids: [16268]
                                        )
                                      ]
                                      spids: [16268]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(cd)} {($ VSub_Name '$my_xdir')})
                                        (C {(exit)} {($ VSub_QMark '$?')})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_archive)
                                          op: Equal
                                          rhs: {($ VSub_Name '$my_xabs')}
                                          spids: [16285]
                                        )
                                      ]
                                      spids: [16285]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_curdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick '`'>
                                                spids: [16290 16292]
                                              )
                                            }
                                          spids: [16289]
                                        )
                                      ]
                                      spids: [16289]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_base_archive)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(basename)} 
                                                        {(DQ ($ VSub_Name '$darwin_archive'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16296 16302]
                                              )
                                            }
                                          spids: [16295]
                                        )
                                      ]
                                      spids: [16295]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_arches)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$LIPO')}
                                                                  {(-info)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$darwin_archive')
                                                                    )
                                                                  }
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [16315]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$GREP')}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [16324]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                          (C {(true)})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16306 16330]
                                              )
                                            }
                                          spids: [16305]
                                        )
                                      ]
                                      spids: [16305]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$darwin_arches'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arches)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$darwin_arches')
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {(SQ <'s/.*are://'>)}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [16348 16364]
                                                      )
                                                    }
                                                  spids: [16347]
                                                )
                                              ]
                                              spids: [16347]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [16367]
                                                )
                                              ]
                                              spids: [16367]
                                            )
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ($ VSub_Name '$darwin_base_archive') 
                                                  (' has multiple architectures ') ($ VSub_Name '$darwin_arches')
                                                )
                                              }
                                            )
                                            (ForEach
                                              iter_name: darwin_arch
                                              iter_words: [{($ VSub_Name '$darwin_arches')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_mkdir_p)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-thin)} 
                                                      {($ VSub_Name '$darwin_arch')} {(-output)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch) (/) (${ VSub_Name darwin_base_archive)
                                                        )
                                                      } {(DQ (${ VSub_Name darwin_archive))}
                                                    )
                                                    (C {(cd)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {(func_extract_an_archive)} 
                                                      {
                                                        (DQ 
                                                          (CommandSubPart
                                                            command_list: 
                                                              (CommandList
                                                                children: [(C {(pwd)})]
                                                              )
                                                            left_token: <Left_Backtick '`'>
                                                            spids: [16459 16461]
                                                          )
                                                        )
                                                      } {(DQ (${ VSub_Name darwin_base_archive))}
                                                    )
                                                    (C {(cd)} {(DQ ($ VSub_Name '$darwin_curdir'))})
                                                    (C {($ VSub_Name '$RM')} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch) (/) (${ VSub_Name darwin_base_archive)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16389 16498]
                                                )
                                              spids: [16384 16387]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_filelist)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(find)} 
                                                                    {(unfat-) ($ VSub_Dollar '$$')} {(-type)} {(f)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.o)} {(-print)} {(-o)} 
                                                                    {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.lo)} {(-print)}
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {(DQ ($ VSub_Name '$basename'))}
                                                                  )
                                                                  (C {(sort)} {(-u)})
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [16509 16550]
                                                      )
                                                    }
                                                  spids: [16508]
                                                )
                                              ]
                                              spids: [16508]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [16553]
                                                )
                                              ]
                                              spids: [16553]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [16556]
                                                )
                                              ]
                                              spids: [16556]
                                            )
                                            (ForEach
                                              iter_name: darwin_file
                                              iter_words: [{($ VSub_Name '$darwin_filelist')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:darwin_files)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(find)} 
                                                                            {(unfat-) 
                                                                              ($ VSub_Dollar '$$')
                                                                            } {(-name)} {($ VSub_Name '$darwin_file')} {(-print)}
                                                                          )
                                                                          (C {($ VSub_Name '$NL2SP')})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [16572 16587]
                                                              )
                                                            }
                                                          spids: [16571]
                                                        )
                                                      ]
                                                      spids: [16571]
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name '$darwin_file'))} {($ VSub_Name '$darwin_files')}
                                                    )
                                                  ]
                                                  spids: [16568 16603]
                                                )
                                              spids: [16564 16566]
                                            )
                                            (C {($ VSub_Name '$RM')} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar '$$')}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name '$darwin_orig_dir'))})
                                          ]
                                          spids: [-1 16344]
                                        )
                                      ]
                                      else_action: [
                                        (C {(cd)} {($ VSub_Name '$darwin_orig_dir')})
                                        (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                                          {(DQ ($ VSub_Name '$my_xabs'))}
                                        )
                                      ]
                                      spids: [16624 16643]
                                    )
                                  ]
                                  spids: [16265]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [16243 16246 16655 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                              {(DQ ($ VSub_Name '$my_xabs'))}
                            )
                          ]
                          spids: [16658 16659 16673 -1]
                        )
                      ]
                      spids: [16236 16240 16676]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_oldobjs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name '$my_oldobjs') (' ')) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(find)} {($ VSub_Name '$my_xdir')} {(-name)} 
                                            {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.) 
                                              ($ VSub_Name '$objext')
                                            } {(-print)} {(-o)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.lo)} {(-print)}
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [16684 16709]
                              )
                            }
                          spids: [16679]
                        )
                      ]
                      spids: [16679]
                    )
                  ]
                  spids: [16070 16712]
                )
              spids: [16066 16068]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$my_oldobjs'))}
                  spids: [16716]
                )
              ]
              spids: [16716]
            )
          ]
          spids: [16015]
        )
      spids: [16010 16014]
    )
    (FuncDef
      name: func_emit_wrapper
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_arg1)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(no)})
                        spids: [16776 16780]
                      )
                    }
                  spids: [16775]
                )
              ]
              spids: [16775]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('#! ') ($ VSub_Name '$SHELL') ('\n') ('\n') ('# ') ($ VSub_Name '$output') 
                  (' - temporary wrapper script for ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') ('\n') ('# Generated by ') 
                  ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$VERSION') ('\n') 
                  ('#\n') ('# The ') ($ VSub_Name '$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='") ($ VSub_Name '$sed_quote_subst') ("'\n") ('\n') ('# Be Bourne compatible\n') 
                  ('if test -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('{ZSH_VERSION+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && (emulate sh) >/dev/null 2>&1; then\n') 
                  ('  emulate sh\n') ('  NULLCMD=:\n') ('  # Zsh 3.x and 4.x performs word splitting on ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}, which\n') 
                  ('  # is contrary to our usage.  Disable this feature.\n') ("  alias -g '") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("}'='") (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("'\n") ('  setopt NO_GLOB_SUBST\n') ('else\n') 
                  ('  case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('(set -o) 2>/dev/null') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (' 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=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$relink_command') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') 
                  ('# This environment variable determines our operation mode.\n') ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libtool_install_magic) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$magic') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') 
                  ('  # install mode needs the following variables:\n') ("  generated_by_libtool_version='") ($ VSub_Name '$macro_version') ("'\n") ("  notinst_deplibs='") 
                  ($ VSub_Name '$notinst_deplibs') ("'\n") ('else\n') ('  # When we are sourced in execute mode, ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file and ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO are already set.\n') 
                  ('  if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$magic') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('    file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (0) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:qECHO)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$ECHO'))})
                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$sed_quote_subst'))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [16918 16932]
                      )
                    }
                  spids: [16917]
                )
              ]
              spids: [16917]
            )
            (C {($ VSub_Name '$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") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('1\n') 
                  ("_LTECHO_EOF'\n") ('}\n') ('    ECHO=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$qECHO') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('  fi') ('\n') ('  # Find the directory that this script lives in.\n') ('  thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%/[^/]*") (Lit_Other '$') ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && thisdir=.\n') ('\n') ('  # Follow symbolic links until we get to the real thisdir.\n') ('  file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('ls -ld ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  while test -n ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; do\n') ('    destdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%/[^/]*") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('\n') 
                  ('    # If there was a directory component, then change thisdir.\n') ('    if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('      [') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]* | [A-Za-z]:[') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]*) thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ;;\n') ('      *) thisdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ;;\n') ('      esac\n') ('    fi\n') ('\n') ('    file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%^.*/%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') 
                  ('    file=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('ls -ld ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  done\n') ('\n') 
                  ("  # Usually 'no', except on cygwin/mingw when embedded into\n") ('  # the cwrapper.\n') ('  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=') ($ VSub_Name '$func_emit_wrapper_arg1') 
                  ('\n') ('  if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (WRAPPER_SCRIPT_BELONGS_IN_OBJDIR) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (yes) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ("    # special case for '.'\n") 
                  ('    if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (pwd) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('    fi\n') 
                  ('    # remove .libs from thisdir\n') ('    case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('    *[') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]') ($ VSub_Name '$objdir') (' ) thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%[") (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/][^') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]*') (Lit_Other '$') ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (' ;;\n') ('    ') 
                  ($ VSub_Name '$objdir') (' )   thisdir=. ;;\n') ('    esac\n') ('  fi\n') ('\n') 
                  ('  # Try to get the absolute directory name.\n') ('  absdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('cd ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && pwd') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  test -n ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (absdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && thisdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (absdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n')
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ("  program=lt-'") ($ VSub_Name '$outputname') ("'") ($ VSub_Name '$exeext') 
                          ('\n') ('  progdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) ($ VSub_Name '$objdir') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') 
                          ('  if test ! -f ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                          (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ||\n') ('     { file=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('ls -1dt ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/../) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 2>/dev/null | ') (${ VSub_Name SED) 
                          (' 1q') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('; ') 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) ('\n') ('       test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; }; then\n') ('\n') ('    file=') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                          (-) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') ('    if test ! -d ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      ') 
                          ($ VSub_Name '$MKDIR') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    else\n') ('      ') 
                          ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    fi')
                        )
                      }
                    )
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('\n') ('    # relink executable if necessary\n') ('    if test -n ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (relink_command) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      if relink_command_output=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ('eval ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                          (relink_command) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 2>&1') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('; then :\n') ('      else\n') ('\t') ($ VSub_Name '$ECHO') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (relink_command_output) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' >&2\n') ('\t') ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\texit 1\n') ('      fi\n') ('    fi\n') ('\n') ('    ') ($ VSub_Name '$MV') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 2>/dev/null ||\n') ('    { ') 
                          ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('      ') ($ VSub_Name '$MV') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; }\n') ('    ') ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('  fi')
                        )
                      }
                    )
                  ]
                  spids: [-1 17203]
                )
              ]
              else_action: [
                (C {($ VSub_Name '$ECHO')} 
                  {
                    (DQ ("  program='") ($ VSub_Name '$outputname') ("'\n") ('  progdir=') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) ($ VSub_Name '$objdir') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n')
                    )
                  }
                )
              ]
              spids: [17415 17435]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('\n') ('  if test -f ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then')
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))} 
                              {(Lit_Other '=')} {(yes)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('    # Add our own library path to ') ($ VSub_Name '$shlibpath_var') 
                          ('\n') ('    ') ($ VSub_Name '$shlibpath_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$temp_rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') ('    # Some systems cannot cope with colon-terminated ') ($ VSub_Name '$shlibpath_var') 
                          ('\n') ('    # The second colon is a workaround for a bug in BeOS R4 sed\n') ('    ') 
                          ($ VSub_Name '$shlibpath_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') 
                          ($ VSub_Name '$SED') (" 's/::*") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("//'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('\n') ('    export ') ($ VSub_Name '$shlibpath_var') ('\n')
                        )
                      }
                    )
                  ]
                  spids: [-1 17493]
                )
              ]
              spids: [-1 17541]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dllsearchpath'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('    # Add the dll search path components to the executable PATH\n') 
                          ('    PATH=') ($ VSub_Name '$dllsearchpath') (':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('PATH\n')
                        )
                      }
                    )
                  ]
                  spids: [-1 17560]
                )
              ]
              spids: [-1 17576]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('    if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$magic') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') 
                  ('      # Run the actual program with our arguments.\n')
                )
              }
            )
            (Case
              to_match: {($ VSub_Name '$host')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw)}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('      exec ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n')
                        )
                      }
                    )
                  ]
                  spids: [17609 17627 17654 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('      exec ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n')
                        )
                      }
                    )
                  ]
                  spids: [17658 17659 17684 -1]
                )
              ]
              spids: [17598 17602 17687]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('      ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('0: cannot exec ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('program ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('*') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('      exit 1\n') ('    fi\n') ('  else\n') ("    # The program doesn't exist.\n") ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('0: error: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("program' does not exist") (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('This script is just a wrapper for ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program.) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('See the ') ($ VSub_Name '$PACKAGE') 
                  (' documentation for more information.') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('    exit 1\n') ('  fi\n') (fi)
                )
              }
            )
          ]
          spids: [16772]
        )
      spids: [16767 16771]
    )
    (FuncDef
      name: func_to_host_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [17823]
                )
              ]
              spids: [17823]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_sed_naive_backslashify)
                                  op: Equal
                                  rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)}
                                  spids: [17857]
                                )
                              ]
                              spids: [17857]
                            )
                            (Case
                              to_match: {($ VSub_Name '$build')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (C {(cmd)} {(//c)} {(echo)} 
                                                                {(DQ ($ VSub_Number '$1'))}
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Great
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                                spids: [17900]
                                                              )
                                                            ]
                                                            spids: [17886 17898]
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s/[ ]*$//'>)} {(-e)} {(DQ ($ VSub_Name '$lt_sed_naive_backslashify'))}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17885 17919]
                                              )
                                            }
                                          spids: [17884]
                                        )
                                      ]
                                      spids: [17884]
                                    )
                                  ]
                                  spids: [17870 17874 17922 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cygpath)} {(-w)} 
                                                            {(DQ ($ VSub_Number '$1'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17933 17952]
                                              )
                                            }
                                          spids: [17932]
                                        )
                                      ]
                                      spids: [17932]
                                    )
                                  ]
                                  spids: [17925 17929 17955 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (SimpleCommand
                                                        words: [
                                                          {(winepath)}
                                                          {(-w)}
                                                          {(DQ ($ VSub_Number '$1'))}
                                                        ]
                                                        redirects: [
                                                          (Redir
                                                            op_id: Redir_Great
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                            spids: [18001]
                                                          )
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17992 18003]
                                              )
                                            }
                                          spids: [17991]
                                        )
                                      ]
                                      spids: [17991]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_QMark '$?'))} {(-eq)} {(0)})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ (${ VSub_Name func_to_host_path_tmp1))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:func_to_host_path_result)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_to_host_path_tmp1'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [18035 18052]
                                                      )
                                                    }
                                                  spids: [18034]
                                                )
                                              ]
                                              spids: [18034]
                                            )
                                          ]
                                          spids: [-1 18031]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:func_to_host_path_result)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [18062]
                                            )
                                          ]
                                          spids: [18062]
                                        )
                                      ]
                                      spids: [18055 18065]
                                    )
                                  ]
                                  spids: [17958 17960 18068 -1]
                                )
                              ]
                              spids: [17863 17867 18071]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_error)} 
                                      {(DQ ('Could not determine host path corresponding to'))}
                                    )
                                    (C {(func_error)} 
                                      {
                                        (DQ ('  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Number '$1') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_error)} 
                                      {
                                        (DQ ('Continuing, but uninstalled executables may not work.'))
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$1'))}
                                          spids: [18117]
                                        )
                                      ]
                                      spids: [18117]
                                    )
                                  ]
                                  spids: [-1 18086]
                                )
                              ]
                              spids: [-1 18123]
                            )
                          ]
                          spids: [17850 17854 18126 -1]
                        )
                      ]
                      spids: [17843 17847 18129]
                    )
                  ]
                  spids: [-1 17840]
                )
              ]
              spids: [-1 18132]
            )
          ]
          spids: [17820]
        )
      spids: [17815 17819]
    )
    (FuncDef
      name: func_to_host_pathlist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_pathlist_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [18205]
                )
              ]
              spids: [18205]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_sed_naive_backslashify)
                                  op: Equal
                                  rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)}
                                  spids: [18239]
                                )
                              ]
                              spids: [18239]
                            )
                            (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} 
                              {(DQ ($ VSub_Number '$1'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_pathlist_tmp1)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [18268]
                                )
                              ]
                              spids: [18268]
                            )
                            (Case
                              to_match: {($ VSub_Name '$build')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (C {(cmd)} {(//c)} {(echo)} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Great
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                                spids: [18311]
                                                              )
                                                            ]
                                                            spids: [18297 18309]
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s/[ ]*$//'>)} {(-e)} {(DQ ($ VSub_Name '$lt_sed_naive_backslashify'))}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [18294 18330]
                                              )
                                            }
                                          spids: [18293]
                                        )
                                      ]
                                      spids: [18293]
                                    )
                                  ]
                                  spids: [18279 18283 18333 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cygpath)} {(-w)} {(-p)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [18344 18365]
                                              )
                                            }
                                          spids: [18343]
                                        )
                                      ]
                                      spids: [18343]
                                    )
                                  ]
                                  spids: [18336 18340 18368 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [18380]
                                        )
                                      ]
                                      spids: [18380]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_oldIFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$IFS')}
                                          spids: [18385]
                                        )
                                      ]
                                      spids: [18385]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [18389]
                                        )
                                      ]
                                      spids: [18389]
                                    )
                                    (ForEach
                                      iter_name: func_to_host_pathlist_f
                                      iter_words: [{($ VSub_Name '$func_to_host_pathlist_tmp1')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_to_host_pathlist_oldIFS')}
                                                  spids: [18406]
                                                )
                                              ]
                                              spids: [18406]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$func_to_host_pathlist_f')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_to_host_path)} 
                                                      {(DQ ($ VSub_Name '$func_to_host_pathlist_f'))}
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$func_to_host_path_result'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$func_to_host_pathlist_result'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: 
func_to_host_pathlist_result
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$func_to_host_path_result'
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [18462]
                                                                        )
                                                                      ]
                                                                      spids: [18462]
                                                                    )
                                                                  ]
                                                                  spids: [-1 18459]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_append)} 
                                                                  {(func_to_host_pathlist_result)} {(DQ (';') ($ VSub_Name '$func_to_host_path_result'))}
                                                                )
                                                              ]
                                                              spids: [18468 18481]
                                                            )
                                                          ]
                                                          spids: [-1 18444]
                                                        )
                                                      ]
                                                      spids: [-1 18484]
                                                    )
                                                  ]
                                                  spids: [-1 18422]
                                                )
                                              ]
                                              spids: [-1 18487]
                                            )
                                          ]
                                          spids: [18403 18490]
                                        )
                                      spids: [18398 18401]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_to_host_pathlist_oldIFS')}
                                          spids: [18493]
                                        )
                                      ]
                                      spids: [18493]
                                    )
                                  ]
                                  spids: [18371 18373 18497 -1]
                                )
                              ]
                              spids: [18272 18276 18500]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_to_host_pathlist_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_error)} 
                                      {
                                        (DQ ('Could not determine the host path(s) corresponding to'))
                                      }
                                    )
                                    (C {(func_error)} 
                                      {
                                        (DQ ('  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Number '$1') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_error)} 
                                      {
                                        (DQ ('Continuing, but uninstalled executables may not work.'))
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_replace_pathsep_nix_to_dos)
                                          op: Equal
                                          rhs: {(DQ ('s|:|;|g'))}
                                          spids: [18561]
                                        )
                                      ]
                                      spids: [18561]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_replace_pathsep_nix_to_dos'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [18568 18585]
                                              )
                                            }
                                          spids: [18567]
                                        )
                                      ]
                                      spids: [18567]
                                    )
                                  ]
                                  spids: [-1 18514]
                                )
                              ]
                              spids: [-1 18588]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number '$1'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other ':') (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (';') ($ VSub_Name '$func_to_host_pathlist_result'))
                                            }
                                          spids: [18609]
                                        )
                                      ]
                                      spids: [18609]
                                    )
                                  ]
                                  spids: [18604 18607 18616 -1]
                                )
                              ]
                              spids: [18595 18601 18619]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number '$1'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (Lit_Other ':')}]
                                  action: [
                                    (C {(func_append)} {(func_to_host_pathlist_result)} {(DQ (';'))})
                                  ]
                                  spids: [18631 18634 18645 -1]
                                )
                              ]
                              spids: [18622 18628 18648]
                            )
                          ]
                          spids: [18232 18236 18651 -1]
                        )
                      ]
                      spids: [18225 18229 18654]
                    )
                  ]
                  spids: [-1 18222]
                )
              ]
              spids: [-1 18657]
            )
          ]
          spids: [18202]
        )
      spids: [18197 18201]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ('\n') ('/* ') ($ VSub_Name '$cwrappersource') 
                        (' - temporary wrapper executable for ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') ('\n') ('   Generated by ') 
                        ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$VERSION') ('\n') 
                        ('\n') ('   The ') ($ VSub_Name '$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* ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$SHELL') (' ') ($ VSub_Name '$output') (Right_DoubleQuote '"') (',\n') 
                        ('   but could eventually absorb all of the scripts functionality and\n') ('   exec ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') (' directly.\n') ('*/\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [18687]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('#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_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18733]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ('const char * MAGIC_EXE = ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$magic_exe') (Right_DoubleQuote '"') (';\n') ('const char * LIB_PATH_VARNAME = ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$shlibpath_var') (Right_DoubleQuote '"') (';\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [18742]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))} 
                              {(Lit_Other '=')} {(yes)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_pathlist)} {(DQ ($ VSub_Name '$temp_rpath'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ('const char * LIB_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_pathlist_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [18803]
                        )
                      ]
                    )
                  ]
                  spids: [-1 18791]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: {('const char * LIB_PATH_VALUE   = "";\n')}
                      do_expansion: False
                      here_end: EOF
                      was_filled: True
                      spids: [18818]
                    )
                  ]
                )
              ]
              spids: [18813 18824]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dllsearchpath'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_pathlist)} {(DQ ($ VSub_Name '$dllsearchpath') (':'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ('const char * EXE_PATH_VARNAME = ') (Right_DoubleQuote '"') (PATH) 
                                (Right_DoubleQuote '"') (';\n') ('const char * EXE_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_pathlist_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [18852]
                        )
                      ]
                    )
                  ]
                  spids: [-1 18839]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {('const char * EXE_PATH_VARNAME = "";\n') 
                          ('const char * EXE_PATH_VALUE   = "";\n')
                        }
                      do_expansion: False
                      here_end: EOF
                      was_filled: True
                      spids: [18872]
                    )
                  ]
                )
              ]
              spids: [18867 18878]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') (lt-) 
                                ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [18900]
                        )
                      ]
                    )
                  ]
                  spids: [-1 18895]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {
                          (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') 
                            ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: True
                      spids: [18916]
                    )
                  ]
                )
              ]
              spids: [18911 18926]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('\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_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18933]
                )
              ]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$host'))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                  ]
                  action: [(C {(echo)} {(DQ ('          setmode(1,_O_BINARY);'))})]
                  spids: [18948 18958 18972 -1]
                )
              ]
              spids: [18939 18945 18975]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('\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_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18981]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ('  newargz[0] =\n') 
                        ('    XMALLOC (char, (strlen (actual_cwrapper_path) +\n') ('\t\t    strlen (') (Right_DoubleQuote '"') ($ VSub_Name '$objdir') (Right_DoubleQuote '"') 
                        (') + 1 + strlen (actual_cwrapper_name) + 1));\n') ('  strcpy (newargz[0], actual_cwrapper_path);\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$objdir') (Right_DoubleQuote '"') (');\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') (/) 
                        (Right_DoubleQuote '"') (');\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [18990]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("  /* 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_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [19016]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {('  {\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_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [19037]
                        )
                      ]
                    )
                  ]
                  spids: [19030 19032 19043 -1]
                )
              ]
              spids: [19023 19027 19046]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('  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_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [19052]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {("  /* 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_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [19073]
                        )
                      ]
                    )
                  ]
                  spids: [19066 19068 19079 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {('  execv (lt_argv_zero, newargz);\n') 
                              ('  return rval; /* =127, but avoids unused variable warning */\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [19088]
                        )
                      ]
                    )
                  ]
                  spids: [19082 19083 19094 -1]
                )
              ]
              spids: [19059 19063 19097]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('}\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_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [19103]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {('\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_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [19123]
                        )
                      ]
                    )
                  ]
                  spids: [19116 19118 19129 -1]
                )
              ]
              spids: [19109 19113 19132]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {('void lt_dump_script (FILE* f)\n') ('{\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [19138]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper)} {(yes)})
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/\\([\\\\"]\\)/\\\\\\1/g'>)} {(-e)} 
                  {(SQ <'s/^/  fputs ("/'>)} {(-e)} {(SQ <'s/$/\\\\n", f);/'>)}
                )
              ]
              negated: False
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {('}\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [19177]
                )
              ]
            )
          ]
          spids: [18682]
        )
      spids: [18677 18681]
    )
    (FuncDef
      name: func_win32_import_lib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(eval)} 
                                {
                                  (DQ ($ VSub_Name '$file_magic_cmd') (' ') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (' 2>/dev/null')
                                  )
                                }
                              )
                              (C {($ VSub_Name '$SED')} {(-e)} {(10q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [19207 19227]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (import) (Lit_Other '*')}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [19232 19235 19239 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [19242 19243 19247 -1]
                )
              ]
              spids: [19205 19229 19250]
            )
          ]
          spids: [19199]
        )
      spids: [19194 19198]
    )
    (FuncDef
      name: func_mode_link
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Case
              to_match: {($ VSub_Name '$host')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [19355]
                        )
                      ]
                      spids: [19355]
                    )
                  ]
                  spids: [19276 19311 19359 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [19366]
                        )
                      ]
                      spids: [19366]
                    )
                  ]
                  spids: [19362 19363 19370 -1]
                )
              ]
              spids: [19269 19273 19373]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19376]
                )
              ]
              spids: [19376]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt') (' ') ($ VSub_At '$@'))}
                  spids: [19380]
                )
              ]
              spids: [19380]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19388]
                )
              ]
              spids: [19388]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19392]
                )
              ]
              spids: [19392]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19397]
                )
              ]
              spids: [19397]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19400]
                )
              ]
              spids: [19400]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19403]
                )
              ]
              spids: [19403]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19406]
                )
              ]
              spids: [19406]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:convenience) op:Equal rhs:{(SQ )} spids:[19409])]
              spids: [19409]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19412]
                )
              ]
              spids: [19412]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[19415])]
              spids: [19415]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:old_deplibs) op:Equal rhs:{(SQ )} spids:[19418])]
              spids: [19418]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19421]
                )
              ]
              spids: [19421]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19424]
                )
              ]
              spids: [19424]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19427]
                )
              ]
              spids: [19427]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lib_search_path)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(pwd)})])
                        left_token: <Left_Backtick '`'>
                        spids: [19431 19433]
                      )
                    }
                  spids: [19430]
                )
              ]
              spids: [19430]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19436]
                )
              ]
              spids: [19436]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19439]
                )
              ]
              spids: [19439]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [19443]
                )
              ]
              spids: [19443]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:bindir) op:Equal rhs:{(SQ )} spids:[19447])]
              spids: [19447]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlfiles) op:Equal rhs:{(SQ )} spids:[19450])]
              spids: [19450]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlprefiles) op:Equal rhs:{(SQ )} spids:[19453])]
              spids: [19453]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[19456])]
              spids: [19456]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [19460]
                )
              ]
              spids: [19460]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19464]
                )
              ]
              spids: [19464]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19467]
                )
              ]
              spids: [19467]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:generated) op:Equal rhs:{(SQ )} spids:[19470])]
              spids: [19470]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobjs) op:Equal rhs:{(SQ )} spids:[19473])]
              spids: [19473]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ltlibs) op:Equal rhs:{(SQ )} spids:[19476])]
              spids: [19476]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[19479])]
              spids: [19479]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[19483])]
              spids: [19483]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(SQ )} spids:[19487])]
              spids: [19487]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19490]
                )
              ]
              spids: [19490]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19493]
                )
              ]
              spids: [19493]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [19496]
                )
              ]
              spids: [19496]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(no)} spids:[19500])]
              spids: [19500]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[19504])]
              spids: [19504]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prevarg) op:Equal rhs:{(SQ )} spids:[19507])]
              spids: [19507]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:release) op:Equal rhs:{(SQ )} spids:[19510])]
              spids: [19510]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(SQ )} spids:[19513])]
              spids: [19513]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:xrpath) op:Equal rhs:{(SQ )} spids:[19516])]
              spids: [19516]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:perm_rpath) op:Equal rhs:{(SQ )} spids:[19519])]
              spids: [19519]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:temp_rpath) op:Equal rhs:{(SQ )} spids:[19522])]
              spids: [19522]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[19525])]
              spids: [19525]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(SQ )} spids:[19529])]
              spids: [19529]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[19532])]
              spids: [19532]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:weak_libs) op:Equal rhs:{(SQ )} spids:[19536])]
              spids: [19536]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name wl) (-single_module))}
                  spids: [19539]
                )
              ]
              spids: [19539]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                                (C {(func_fatal_configuration)} 
                                  {(DQ ('can not build a shared library'))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [19599]
                                )
                              ]
                              spids: [19599]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [19573 19574 19606 -1]
                        )
                        (case_arm
                          pat_list: [{(-all-static)} {(-static)} {(-static-libtool-libs)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-all-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
'complete static linking is impossible in this configuration'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 19655]
                                        )
                                      ]
                                      spids: [-1 19665]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$link_static_flag'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [19682]
                                                )
                                              ]
                                              spids: [19682]
                                            )
                                          ]
                                          spids: [-1 19679]
                                        )
                                      ]
                                      spids: [-1 19686]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [19689]
                                        )
                                      ]
                                      spids: [19689]
                                    )
                                  ]
                                  spids: [19628 19629 19693 -1]
                                )
                                (case_arm
                                  pat_list: [{(-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [19724]
                                                )
                                              ]
                                              spids: [19724]
                                            )
                                          ]
                                          spids: [-1 19721]
                                        )
                                      ]
                                      spids: [-1 19728]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [19731]
                                        )
                                      ]
                                      spids: [19731]
                                    )
                                  ]
                                  spids: [19696 19697 19735 -1]
                                )
                                (case_arm
                                  pat_list: [{(-static-libtool-libs)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [19766]
                                                )
                                              ]
                                              spids: [19766]
                                            )
                                          ]
                                          spids: [-1 19763]
                                        )
                                      ]
                                      spids: [-1 19770]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [19773]
                                        )
                                      ]
                                      spids: [19773]
                                    )
                                  ]
                                  spids: [19738 19739 19777 -1]
                                )
                              ]
                              spids: [19621 19625 19780]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [19783]
                                )
                              ]
                              spids: [19783]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [19787]
                                )
                              ]
                              spids: [19787]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [19609 19618 19794 -1]
                        )
                      ]
                      spids: [19566 19570 19797]
                    )
                  ]
                  spids: [19563 19800]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:build_old_libs)
                      op: Equal
                      rhs: {(yes)}
                      spids: [19818]
                    )
                  ]
                  spids: [19818]
                )
              ]
              op_id: Op_DAmp
            )
            (While
              cond: [
                (Sentence
                  child: (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [19843]
                        )
                      ]
                      spids: [19843]
                    )
                    (C {(shift)})
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:qarg)
                          op: Equal
                          rhs: {($ VSub_Name '$func_quote_for_eval_unquoted_result')}
                          spids: [19859]
                        )
                      ]
                      spids: [19859]
                    )
                    (C {(func_append)} {(libtool_args)} 
                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$prev')}
                              arms: [
                                (case_arm
                                  pat_list: [{(output)}]
                                  action: [
                                    (C {(func_append)} {(compile_command)} {(DQ (' @OUTPUT@'))})
                                    (C {(func_append)} {(finalize_command)} {(DQ (' @OUTPUT@'))})
                                  ]
                                  spids: [19899 19900 19921 -1]
                                )
                              ]
                              spids: [19892 19896 19924]
                            )
                            (Case
                              to_match: {($ VSub_Name '$prev')}
                              arms: [
                                (case_arm
                                  pat_list: [{(bindir)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:bindir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [19939]
                                        )
                                      ]
                                      spids: [19939]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19945]
                                        )
                                      ]
                                      spids: [19945]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19935 19936 19951 -1]
                                )
                                (case_arm
                                  pat_list: [{(dlfiles)} {(dlprefiles)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$preload'))} 
                                                  {(Lit_Other '=')} {(no)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(compile_command)} {(DQ (' @SYMFILE@'))})
                                            (C {(func_append)} {(finalize_command)} {(DQ (' @SYMFILE@'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:preload)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [19998]
                                                )
                                              ]
                                              spids: [19998]
                                            )
                                          ]
                                          spids: [-1 19973]
                                        )
                                      ]
                                      spids: [-1 20002]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)} {(Lit_Other '*') (.lo)}]
                                          spids: [20012 20019 20021 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(force)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$dlself'))} 
                                                          {(Lit_Other '=')} {(no)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(needless)}
                                                          spids: [20047]
                                                        )
                                                      ]
                                                      spids: [20047]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [20051]
                                                        )
                                                      ]
                                                      spids: [20051]
                                                    )
                                                  ]
                                                  spids: [-1 20044]
                                                )
                                              ]
                                              spids: [-1 20055]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20058]
                                                )
                                              ]
                                              spids: [20058]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [20027 20028 20064 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(self)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlprefiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [20087]
                                                        )
                                                      ]
                                                      spids: [20087]
                                                    )
                                                  ]
                                                  spids: [-1 20084]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                              {(Lit_Other '=')} {(dlfiles)}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$dlopen_self'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [20120]
                                                        )
                                                      ]
                                                      spids: [20120]
                                                    )
                                                  ]
                                                  spids: [20091 20117]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [20127]
                                                    )
                                                  ]
                                                  spids: [20127]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [20131]
                                                    )
                                                  ]
                                                  spids: [20131]
                                                )
                                              ]
                                              spids: [20124 20135]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20138]
                                                )
                                              ]
                                              spids: [20138]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [20067 20068 20144 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlfiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$dlfiles') (' ') 
                                                                ($ VSub_Name '$arg')
                                                              )
                                                            }
                                                          spids: [20167]
                                                        )
                                                      ]
                                                      spids: [20167]
                                                    )
                                                  ]
                                                  spids: [-1 20164]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                            ($ VSub_Name '$arg')
                                                          )
                                                        }
                                                      spids: [20178]
                                                    )
                                                  ]
                                                  spids: [20178]
                                                )
                                              ]
                                              spids: [20175 20186]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20189]
                                                )
                                              ]
                                              spids: [20189]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [20147 20148 20195 -1]
                                        )
                                      ]
                                      spids: [20005 20009 20198]
                                    )
                                  ]
                                  spids: [19954 19957 20201 -1]
                                )
                                (case_arm
                                  pat_list: [{(expsyms)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20208]
                                        )
                                      ]
                                      spids: [20208]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('symbol file ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$arg') ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20236]
                                        )
                                      ]
                                      spids: [20236]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20204 20205 20242 -1]
                                )
                                (case_arm
                                  pat_list: [{(expsyms_regex)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols_regex)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20249]
                                        )
                                      ]
                                      spids: [20249]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20255]
                                        )
                                      ]
                                      spids: [20255]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20245 20246 20261 -1]
                                )
                                (case_arm
                                  pat_list: [{(framework)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$qarg') ('.ltframework ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [20293 20300 20302 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplibs') (' ') 
                                                                ($ VSub_Name '$qarg') (.ltframework)
                                                              )
                                                            }
                                                          spids: [20308]
                                                        )
                                                      ]
                                                      spids: [20308]
                                                    )
                                                  ]
                                                  spids: [20305 20306 20320 -1]
                                                )
                                              ]
                                              spids: [20283 20290 20323]
                                            )
                                          ]
                                          spids: [20275 20280 20326 -1]
                                        )
                                      ]
                                      spids: [20268 20272 20329]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20332]
                                        )
                                      ]
                                      spids: [20332]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20264 20265 20338 -1]
                                )
                                (case_arm
                                  pat_list: [{(inst_prefix)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20345]
                                        )
                                      ]
                                      spids: [20345]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20351]
                                        )
                                      ]
                                      spids: [20351]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20341 20342 20357 -1]
                                )
                                (case_arm
                                  pat_list: [{(objectlist)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:save_arg)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$arg')}
                                                  spids: [20378]
                                                )
                                              ]
                                              spids: [20378]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20382]
                                                )
                                              ]
                                              spids: [20382]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name '$save_arg'))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [20391 20397]
                                                  )
                                                }
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$fil')}
                                                          spids: [20406]
                                                        )
                                                      ]
                                                      spids: [20406]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(func_lalib_unsafe_p)} 
                                                                  {(DQ ($ VSub_Name '$arg'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [20431]
                                                                )
                                                              ]
                                                              spids: [20431]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [20434]
                                                                )
                                                              ]
                                                              spids: [20434]
                                                            )
                                                            (C {(func_source)} 
                                                              {(DQ ($ VSub_Name '$arg'))}
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$pic_object'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (AndOr
                                                                              children: [
                                                                                (C {(test)} {(-z)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$non_pic_object'
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other '=')} {(none)}
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$non_pic_object'
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other '=')} {(none)}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DPipe
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (
'cannot find name of object for '
                                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$arg') ("'")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 20498]
                                                                )
                                                              ]
                                                              spids: [-1 20511]
                                                            )
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:xdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_dirname_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [20533]
                                                                )
                                                              ]
                                                              spids: [20533]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$pic_object'
                                                                              )
                                                                            )
                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: pic_object
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$xdir') ($ VSub_Name '$pic_object')
                                                                              )
                                                                            }
                                                                          spids: [20561]
                                                                        )
                                                                      ]
                                                                      spids: [20561]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$prev'
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other '=')} {(dlfiles)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (AndOr
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name '$dlopen_support'))} {(Lit_Other '=')} {(yes)}
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DAmp
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
dlfiles
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dlfiles'
                                                                                                ) (' ') ($ VSub_Name '$pic_object')
                                                                                              )
                                                                                            }
                                                                                          spids: [
20613
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20613]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(SQ )}
                                                                                          spids: [
20621
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20621]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 20610]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [20634]
                                                                                    )
                                                                                  ]
                                                                                  spids: [20634]
                                                                                )
                                                                              ]
                                                                              spids: [20627 20638]
                                                                            )
                                                                          ]
                                                                          spids: [-1 20582]
                                                                        )
                                                                      ]
                                                                      spids: [-1 20641]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$prev'
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other '=')} {(dlprefiles)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
dlprefiles
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$dlprefiles'
                                                                                        ) (' ') ($ VSub_Name '$pic_object')
                                                                                      )
                                                                                    }
                                                                                  spids: [20669]
                                                                                )
                                                                              ]
                                                                              spids: [20669]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: prev
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [20677]
                                                                                )
                                                                              ]
                                                                              spids: [20677]
                                                                            )
                                                                          ]
                                                                          spids: [-1 20662]
                                                                        )
                                                                      ]
                                                                      spids: [-1 20680]
                                                                    )
                                                                    (C {(func_append)} {(libobjs)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$pic_object')
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:arg)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$pic_object'
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [20698]
                                                                        )
                                                                      ]
                                                                      spids: [20698]
                                                                    )
                                                                  ]
                                                                  spids: [-1 20554]
                                                                )
                                                              ]
                                                              spids: [-1 20704]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$non_pic_object'
                                                                              )
                                                                            )
                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: non_pic_object
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$xdir') ($ VSub_Name '$non_pic_object')
                                                                              )
                                                                            }
                                                                          spids: [20733]
                                                                        )
                                                                      ]
                                                                      spids: [20733]
                                                                    )
                                                                    (C {(func_append)} 
                                                                      {(non_pic_objects)} {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} {(-z)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other '=')} {(none)}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DPipe
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: arg
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$non_pic_object'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [20782]
                                                                                )
                                                                              ]
                                                                              spids: [20782]
                                                                            )
                                                                          ]
                                                                          spids: [-1 20779]
                                                                        )
                                                                      ]
                                                                      spids: [-1 20788]
                                                                    )
                                                                  ]
                                                                  spids: [-1 20726]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$pic_object'
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [20802]
                                                                    )
                                                                  ]
                                                                  spids: [20802]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [20791 20818]
                                                            )
                                                          ]
                                                          spids: [-1 20428]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (C {(func_dirname)} 
                                                                  {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )}
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:xdir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$func_dirname_result'
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [20854]
                                                                    )
                                                                  ]
                                                                  spids: [20854]
                                                                )
                                                                (C {(func_lo2o)} 
                                                                  {(DQ ($ VSub_Name '$arg'))}
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:pic_object)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {($ VSub_Name '$xdir') 
                                                                          ($ VSub_Name '$objdir') (/) ($ VSub_Name '$func_lo2o_result')
                                                                        }
                                                                      spids: [20868]
                                                                    )
                                                                  ]
                                                                  spids: [20868]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {($ VSub_Name '$xdir') 
                                                                          ($ VSub_Name 
'$func_lo2o_result'
                                                                          )
                                                                        }
                                                                      spids: [20875]
                                                                    )
                                                                  ]
                                                                  spids: [20875]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$pic_object')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 20833]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\`'>
                                                                  ) ($ VSub_Name '$arg') ("' is not a valid libtool object")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [20900 20912]
                                                        )
                                                      ]
                                                      spids: [20821 20915]
                                                    )
                                                  ]
                                                  spids: [20400 20918]
                                                )
                                              spids: [20390 -1]
                                            )
                                          ]
                                          spids: [-1 20375]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('link input file ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$arg') ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [20921 20934]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_arg')}
                                          spids: [20937]
                                        )
                                      ]
                                      spids: [20937]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20941]
                                        )
                                      ]
                                      spids: [20941]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20360 20361 20947 -1]
                                )
                                (case_arm
                                  pat_list: [{(precious_regex)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:precious_files_regex)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20954]
                                        )
                                      ]
                                      spids: [20954]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20960]
                                        )
                                      ]
                                      spids: [20960]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20950 20951 20966 -1]
                                )
                                (case_arm
                                  pat_list: [{(release)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:release)
                                          op: Equal
                                          rhs: {(DQ (-) ($ VSub_Name '$arg'))}
                                          spids: [20973]
                                        )
                                      ]
                                      spids: [20973]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20980]
                                        )
                                      ]
                                      spids: [20980]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20969 20970 20986 -1]
                                )
                                (case_arm
                                  pat_list: [{(rpath)} {(xrpath)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\\\'>
                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                            }
                                            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                              (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                            }
                                          ]
                                          spids: [21008 21025 21027 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ('only absolute run-paths are allowed'))}
                                            )
                                          ]
                                          spids: [21030 21031 21041 -1]
                                        )
                                      ]
                                      spids: [21001 21005 21044]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                  {(Lit_Other '=')} {(rpath)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$rpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [21073 21080 21082 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rpath') (' ') 
                                                                ($ VSub_Name '$arg')
                                                              )
                                                            }
                                                          spids: [21088]
                                                        )
                                                      ]
                                                      spids: [21088]
                                                    )
                                                  ]
                                                  spids: [21085 21086 21095 -1]
                                                )
                                              ]
                                              spids: [21063 21070 21098]
                                            )
                                          ]
                                          spids: [-1 21060]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other '*') 
                                                  (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                }
                                              ]
                                              spids: [21114 21121 21123 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other '*')}]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:xrpath)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$xrpath') (' ') 
                                                            ($ VSub_Name '$arg')
                                                          )
                                                        }
                                                      spids: [21129]
                                                    )
                                                  ]
                                                  spids: [21129]
                                                )
                                              ]
                                              spids: [21126 21127 21136 -1]
                                            )
                                          ]
                                          spids: [21104 21111 21139]
                                        )
                                      ]
                                      spids: [21101 21142]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21145]
                                        )
                                      ]
                                      spids: [21145]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20989 20994 21151 -1]
                                )
                                (case_arm
                                  pat_list: [{(shrext)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:shrext_cmds)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [21158]
                                        )
                                      ]
                                      spids: [21158]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21164]
                                        )
                                      ]
                                      spids: [21164]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21154 21155 21170 -1]
                                )
                                (case_arm
                                  pat_list: [{(weak)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:weak_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$weak_libs') (' ') ($ VSub_Name '$arg'))
                                            }
                                          spids: [21177]
                                        )
                                      ]
                                      spids: [21177]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21185]
                                        )
                                      ]
                                      spids: [21185]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21173 21174 21191 -1]
                                )
                                (case_arm
                                  pat_list: [{(xcclinker)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21198]
                                        )
                                      ]
                                      spids: [21198]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21206]
                                        )
                                      ]
                                      spids: [21206]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21214]
                                        )
                                      ]
                                      spids: [21214]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21194 21195 21240 -1]
                                )
                                (case_arm
                                  pat_list: [{(xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21247]
                                        )
                                      ]
                                      spids: [21247]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21255]
                                        )
                                      ]
                                      spids: [21255]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21243 21244 21281 -1]
                                )
                                (case_arm
                                  pat_list: [{(xlinker)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21288]
                                        )
                                      ]
                                      spids: [21288]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$wl') ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21296]
                                        )
                                      ]
                                      spids: [21296]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21305]
                                        )
                                      ]
                                      spids: [21305]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$wl') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$wl') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21284 21285 21333 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name '$prev') ('=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (arg) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21352]
                                        )
                                      ]
                                      spids: [21352]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21336 21337 21358 -1]
                                )
                              ]
                              spids: [19928 19932 21361]
                            )
                          ]
                          spids: [-1 19889]
                        )
                      ]
                      spids: [-1 21364]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$arg'))}
                          spids: [21371]
                        )
                      ]
                      spids: [21371]
                    )
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-all-static)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$link_static_flag'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$link_static_flag'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$link_static_flag'))}
                                    )
                                  ]
                                  spids: [-1 21400]
                                )
                              ]
                              spids: [-1 21427]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21385 21386 21433 -1]
                        )
                        (case_arm
                          pat_list: [{(-allow-undefined)}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-allow-undefined' must not be used because it is the default")
                                )
                              }
                            )
                          ]
                          spids: [21437 21438 21453 -1]
                        )
                        (case_arm
                          pat_list: [{(-avoid-version)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoid_version)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [21461]
                                )
                              ]
                              spids: [21461]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21457 21458 21468 -1]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [21476]
                                )
                              ]
                              spids: [21476]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21472 21473 21483 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [21491]
                                )
                              ]
                              spids: [21491]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21487 21488 21498 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [21506]
                                )
                              ]
                              spids: [21506]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21502 21503 21513 -1]
                        )
                        (case_arm
                          pat_list: [{(-export-dynamic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:export_dynamic)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [21521]
                                )
                              ]
                              spids: [21521]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21517 21518 21528 -1]
                        )
                        (case_arm
                          pat_list: [{(-export-symbols)} {(-export-symbols-regex)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ 
                                          (
'more than one -exported-symbols argument is not allowed'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 21561]
                                )
                              ]
                              spids: [-1 21571]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} {(Lit_Other '=')} 
                                          {(DQ (X-export-symbols))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(expsyms)}
                                          spids: [21593]
                                        )
                                      ]
                                      spids: [21593]
                                    )
                                  ]
                                  spids: [-1 21590]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [21600]
                                    )
                                  ]
                                  spids: [21600]
                                )
                              ]
                              spids: [21597 21604]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21532 21537 21610 -1]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [21618]
                                )
                              ]
                              spids: [21618]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21614 21615 21625 -1]
                        )
                        (case_arm
                          pat_list: [{(-inst-prefix-dir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(inst_prefix)}
                                  spids: [21633]
                                )
                              ]
                              spids: [21633]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21629 21630 21640 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-L) (Lit_Other '[') (A-Z) (Lit_Other ']') (Lit_Other '[') (A-Z) 
                              (Lit_Other ']') (Lit_Other '*') (Lit_Other ':') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$with_gcc') (/) ($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(no/) (Lit_Other '*') (-) (Lit_Other '*') (-irix) (Lit_Other '*')}
                                    {(/) (Lit_Other '*') (-) (Lit_Other '*') (-irix) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                  ]
                                  spids: [21674 21689 21712 -1]
                                )
                              ]
                              spids: [21665 21671 21715]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21652 21662 21721 -1]
                        )
                        (case_arm
                          pat_list: [{(-L) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [21744]
                                )
                              ]
                              spids: [21744]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dir'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ('require no space between ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ("-L' and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Number '$1') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 21775]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('need path for ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ("-L' option")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [21790 21802]
                                    )
                                  ]
                                  spids: [-1 21759]
                                )
                              ]
                              spids: [-1 21805]
                            )
                            (Case
                              to_match: {($ VSub_Name '$dir')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '[') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\\\'>
                                      ) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                    {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                      (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                  ]
                                  spids: [21819 21836 21838 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$dir'))})
                                                          (C {(pwd)})
                                                        ]
                                                        op_id: Op_DAmp
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [21846 21856]
                                              )
                                            }
                                          spids: [21845]
                                        )
                                      ]
                                      spids: [21845]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$absdir'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('cannot determine absolute directory name of ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$dir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$absdir'))}
                                          spids: [21881]
                                        )
                                      ]
                                      spids: [21881]
                                    )
                                  ]
                                  spids: [21841 21842 21887 -1]
                                )
                              ]
                              spids: [21812 21816 21890]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' -L') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [21903 21910 21912 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplibs') (' -L') ($ VSub_Name '$dir'))
                                            }
                                          spids: [21919]
                                        )
                                      ]
                                      spids: [21919]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib_search_path') (' ') 
                                                ($ VSub_Name '$dir')
                                              )
                                            }
                                          spids: [21927]
                                        )
                                      ]
                                      spids: [21927]
                                    )
                                  ]
                                  spids: [21915 21916 21935 -1]
                                )
                              ]
                              spids: [21893 21900 21938]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$dir'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [21987 22001]
                                              )
                                            }
                                          spids: [21986]
                                        )
                                      ]
                                      spids: [21986]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$dir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [22013 22020 22022 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dir')}
                                                  spids: [22029]
                                                )
                                              ]
                                              spids: [22029]
                                            )
                                          ]
                                          spids: [22025 22027 22031 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$dir')
                                                      )
                                                    }
                                                  spids: [22037]
                                                )
                                              ]
                                              spids: [22037]
                                            )
                                          ]
                                          spids: [22034 22035 22043 -1]
                                        )
                                      ]
                                      spids: [22004 22010 22046]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [22058 22065 22067 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$testbindir')}
                                                  spids: [22074]
                                                )
                                              ]
                                              spids: [22074]
                                            )
                                          ]
                                          spids: [22070 22072 22076 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$testbindir')
                                                      )
                                                    }
                                                  spids: [22082]
                                                )
                                              ]
                                              spids: [22082]
                                            )
                                          ]
                                          spids: [22079 22080 22088 -1]
                                        )
                                      ]
                                      spids: [22049 22055 22091]
                                    )
                                  ]
                                  spids: [21948 21983 22094 -1]
                                )
                              ]
                              spids: [21941 21945 22097]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21725 21727 22103 -1]
                        )
                        (case_arm
                          pat_list: [{(-l) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                              {(Lit_Other '=')} {(DQ (X-lc))}
                                            )
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                              {(Lit_Other '=')} {(DQ (X-lm))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-beos) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-haiku) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [22153 22196 22206 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [22209 22214 22239 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [22242 22263 22288 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) 
                                              (Lit_Other '[') (012) (Lit_Other ']')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplibs') 
                                                        (' System.ltframework')
                                                      )
                                                    }
                                                  spids: [22313]
                                                )
                                              ]
                                              spids: [22313]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [22291 22306 22323 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [22326 22339 22364 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv4.2uw2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-unixware) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-OpenUNIX) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [22367 22396 22421 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-linux) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [22424 22429 22450 -1]
                                        )
                                      ]
                                      spids: [22146 22150 22453]
                                    )
                                  ]
                                  spids: [-1 22143]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} {(Lit_Other '=')} 
                                          {(DQ (X-lc_r))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [22482 22503 22513 -1]
                                        )
                                      ]
                                      spids: [22475 22479 22516]
                                    )
                                  ]
                                  spids: [22456 22472]
                                )
                              ]
                              spids: [-1 22519]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22522]
                                )
                              ]
                              spids: [22522]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22107 22109 22533 -1]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [22541]
                                )
                              ]
                              spids: [22541]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22537 22538 22548 -1]
                        )
                        (case_arm
                          pat_list: [{(-model)} {(-arch)} {(-isysroot)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$compiler_flags') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22572]
                                )
                              ]
                              spids: [22572]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [22600]
                                )
                              ]
                              spids: [22600]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22564 22569 22607 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-mt)}
                            {(-mthreads)}
                            {(-kthread)}
                            {(-Kthread)}
                            {(-pthread)}
                            {(-pthreads)}
                            {(--thread-safe)}
                            {(-threads)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$compiler_flags') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22629]
                                )
                              ]
                              spids: [22629]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (Case
                              to_match: {(DQ ($ VSub_Name '$new_inherited_linker_flags') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$arg') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [22667 22674 22676 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_inherited_linker_flags') (' ') 
                                                ($ VSub_Name '$arg')
                                              )
                                            }
                                          spids: [22683]
                                        )
                                      ]
                                      spids: [22683]
                                    )
                                  ]
                                  spids: [22679 22681 22690 -1]
                                )
                              ]
                              spids: [22657 22664 22693]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22611 22626 22699 -1]
                        )
                        (case_arm
                          pat_list: [{(-multi_module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:single_module)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name wl) (-multi_module))}
                                  spids: [22707]
                                )
                              ]
                              spids: [22707]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22703 22704 22719 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-fast-install)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fast_install)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [22727]
                                )
                              ]
                              spids: [22727]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22723 22724 22734 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-install)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_warning)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ("-no-install' is ignored for ") ($ VSub_Name '$host')
                                        )
                                      }
                                    )
                                    (C {(func_warning)} 
                                      {
                                        (DQ ('assuming ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ("-no-fast-install' instead")
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:fast_install)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [22821]
                                        )
                                      ]
                                      spids: [22821]
                                    )
                                  ]
                                  spids: [22749 22792 22825 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:no_install)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [22831]
                                        )
                                      ]
                                      spids: [22831]
                                    )
                                  ]
                                  spids: [22828 22829 22834 -1]
                                )
                              ]
                              spids: [22742 22746 22837]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22738 22739 22843 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-undefined)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [22851]
                                )
                              ]
                              spids: [22851]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22847 22848 22858 -1]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [22866]
                                )
                              ]
                              spids: [22866]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22862 22863 22873 -1]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [22880]
                                )
                              ]
                              spids: [22880]
                            )
                          ]
                          spids: [22877 22878 22883 -1]
                        )
                        (case_arm
                          pat_list: [{(-precious-files-regex)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(precious_regex)}
                                  spids: [22891]
                                )
                              ]
                              spids: [22891]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22887 22888 22898 -1]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [22906]
                                )
                              ]
                              spids: [22906]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22902 22903 22913 -1]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [22921]
                                )
                              ]
                              spids: [22921]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22917 22918 22928 -1]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [22936]
                                )
                              ]
                              spids: [22936]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22932 22933 22943 -1]
                        )
                        (case_arm
                          pat_list: [{(-R) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [22966]
                                )
                              ]
                              spids: [22966]
                            )
                            (Case
                              to_match: {($ VSub_Name '$dir')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '[') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\\\'>
                                      ) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                    {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                      (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                  ]
                                  spids: [22981 22998 23000 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ('only absolute run-paths are allowed'))}
                                    )
                                  ]
                                  spids: [23003 23004 23014 -1]
                                )
                              ]
                              spids: [22974 22978 23017]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [23030 23037 23039 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xrpath)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$xrpath') (' ') ($ VSub_Name '$dir'))}
                                          spids: [23045]
                                        )
                                      ]
                                      spids: [23045]
                                    )
                                  ]
                                  spids: [23042 23043 23052 -1]
                                )
                              ]
                              spids: [23020 23027 23055]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22947 22949 23061 -1]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [23065 23066 23076 -1]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [23084]
                                )
                              ]
                              spids: [23084]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23080 23081 23091 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [23095 23100 23126 -1]
                        )
                        (case_arm
                          pat_list: [{(-thread-safe)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:thread_safe)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [23134]
                                )
                              ]
                              spids: [23134]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23130 23131 23141 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [23149]
                                )
                              ]
                              spids: [23149]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23145 23146 23156 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [23164]
                                )
                              ]
                              spids: [23164]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [23168]
                                )
                              ]
                              spids: [23168]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23160 23161 23175 -1]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [23183]
                                )
                              ]
                              spids: [23183]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23179 23180 23190 -1]
                        )
                        (case_arm
                          pat_list: [{(-Wc) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <'-Wc,'>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [23214]
                                )
                              ]
                              spids: [23214]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [23218]
                                )
                              ]
                              spids: [23218]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [23221]
                                    )
                                  ]
                                  spids: [23221]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <','>)}
                                  spids: [23227]
                                )
                              ]
                              spids: [23227]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [23245]
                                        )
                                      ]
                                      spids: [23245]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$flag'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$arg') (' ') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23258]
                                        )
                                      ]
                                      spids: [23258]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23266]
                                        )
                                      ]
                                      spids: [23266]
                                    )
                                  ]
                                  spids: [23242 23274]
                                )
                              spids: [23238 23240]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [23277]
                                )
                              ]
                              spids: [23277]
                            )
                            (C {(func_stripname)} {(SQ <' '>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [23297]
                                )
                              ]
                              spids: [23297]
                            )
                          ]
                          spids: [23194 23197 23301 -1]
                        )
                        (case_arm
                          pat_list: [{(-Wl) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <'-Wl,'>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [23325]
                                )
                              ]
                              spids: [23325]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [23329]
                                )
                              ]
                              spids: [23329]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [23332]
                                    )
                                  ]
                                  spids: [23332]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <','>)}
                                  spids: [23338]
                                )
                              ]
                              spids: [23338]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [23356]
                                        )
                                      ]
                                      spids: [23356]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$flag'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$arg') (' ') ($ VSub_Name '$wl') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23369]
                                        )
                                      ]
                                      spids: [23369]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$wl') ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23378]
                                        )
                                      ]
                                      spids: [23378]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23387]
                                        )
                                      ]
                                      spids: [23387]
                                    )
                                  ]
                                  spids: [23353 23395]
                                )
                              spids: [23349 23351]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [23398]
                                )
                              ]
                              spids: [23398]
                            )
                            (C {(func_stripname)} {(SQ <' '>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [23418]
                                )
                              ]
                              spids: [23418]
                            )
                          ]
                          spids: [23305 23308 23422 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [23430]
                                )
                              ]
                              spids: [23430]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23426 23427 23437 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [23445]
                                )
                              ]
                              spids: [23445]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23441 23442 23452 -1]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [23460]
                                )
                              ]
                              spids: [23460]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23456 23457 23467 -1]
                        )
                        (case_arm
                          pat_list: [{(-msg_) (Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [23487]
                                )
                              ]
                              spids: [23487]
                            )
                          ]
                          spids: [23475 23477 23493 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-64)}
                            {(-mips) (Lit_Other '[') (0-9) (Lit_Other ']')}
                            {(-r) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(-xarch) (Lit_Other '=') (Lit_Other '*')}
                            {(-xtarget) (Lit_Other '=') (Lit_Other '*')}
                            {(Lit_Other '+') (DA) (Lit_Other '*')}
                            {(Lit_Other '+') (DD) (Lit_Other '*')}
                            {(-q) (Lit_Other '*')}
                            {(-m) (Lit_Other '*')}
                            {(-t) (Lit_Other '[') (45) (Lit_Other ']') (Lit_Other '*')}
                            {(-txscale) (Lit_Other '*')}
                            {(-p)}
                            {(-pg)}
                            {(--coverage)}
                            {(-fprofile-) (Lit_Other '*')}
                            {(-F) (Lit_Other '*')}
                            {(Lit_Other '@') (Lit_Other '*')}
                            {(-tp) (Lit_Other '=') (Lit_Other '*')}
                          ]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [23619]
                                )
                              ]
                              spids: [23619]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$compiler_flags') (' ') ($ VSub_Name '$arg'))}
                                  spids: [23645]
                                )
                              ]
                              spids: [23645]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23541 23609 23656 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')} {(Lit_Other '+') (Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [23681]
                                )
                              ]
                              spids: [23681]
                            )
                          ]
                          spids: [23664 23671 23687 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$objs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [23701]
                                )
                              ]
                              spids: [23701]
                            )
                          ]
                          spids: [23691 23694 23709 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$arg'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23739]
                                        )
                                      ]
                                      spids: [23739]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23742]
                                        )
                                      ]
                                      spids: [23742]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$arg'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$non_pic_object'))}
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))} {(Lit_Other '=')} {(none)}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$non_pic_object'))} {(Lit_Other '=')} {(none)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ('cannot find name of object for ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$arg') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 23806]
                                        )
                                      ]
                                      spids: [-1 23819]
                                    )
                                    (C {(func_dirname)} {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xdir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                          spids: [23841]
                                        )
                                      ]
                                      spids: [23841]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pic_object'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_object)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$xdir') 
                                                        ($ VSub_Name '$pic_object')
                                                      )
                                                    }
                                                  spids: [23869]
                                                )
                                              ]
                                              spids: [23869]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlfiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$build_libtool_libs'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$dlopen_support'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$dlfiles') 
                                                                        (' ') ($ VSub_Name '$pic_object')
                                                                      )
                                                                    }
                                                                  spids: [23921]
                                                                )
                                                              ]
                                                              spids: [23921]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:prev)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [23929]
                                                                )
                                                              ]
                                                              spids: [23929]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 23918]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [23942]
                                                            )
                                                          ]
                                                          spids: [23942]
                                                        )
                                                      ]
                                                      spids: [23935 23946]
                                                    )
                                                  ]
                                                  spids: [-1 23890]
                                                )
                                              ]
                                              spids: [-1 23949]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlprefiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlprefiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                                ($ VSub_Name '$pic_object')
                                                              )
                                                            }
                                                          spids: [23977]
                                                        )
                                                      ]
                                                      spids: [23977]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:prev)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [23985]
                                                        )
                                                      ]
                                                      spids: [23985]
                                                    )
                                                  ]
                                                  spids: [-1 23970]
                                                )
                                              ]
                                              spids: [-1 23988]
                                            )
                                            (C {(func_append)} {(libobjs)} 
                                              {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$pic_object'))}
                                                  spids: [24006]
                                                )
                                              ]
                                              spids: [24006]
                                            )
                                          ]
                                          spids: [-1 23862]
                                        )
                                      ]
                                      spids: [-1 24012]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$non_pic_object'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:non_pic_object)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$xdir') 
                                                        ($ VSub_Name '$non_pic_object')
                                                      )
                                                    }
                                                  spids: [24041]
                                                )
                                              ]
                                              spids: [24041]
                                            )
                                            (C {(func_append)} {(non_pic_objects)} 
                                              {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))} {(Lit_Other '=')} {(none)}
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$non_pic_object'))}
                                                          spids: [24090]
                                                        )
                                                      ]
                                                      spids: [24090]
                                                    )
                                                  ]
                                                  spids: [-1 24087]
                                                )
                                              ]
                                              spids: [-1 24096]
                                            )
                                          ]
                                          spids: [-1 24034]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$pic_object'))}
                                              spids: [24110]
                                            )
                                          ]
                                          spids: [24110]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [24099 24126]
                                    )
                                  ]
                                  spids: [-1 23736]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: (C {($ VSub_Name '$opt_dry_run')})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_dirname)} {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:xdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                              spids: [24162]
                                            )
                                          ]
                                          spids: [24162]
                                        )
                                        (C {(func_lo2o)} {(DQ ($ VSub_Name '$arg'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:pic_object)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$xdir') ($ VSub_Name '$objdir') (/) 
                                                  ($ VSub_Name '$func_lo2o_result')
                                                }
                                              spids: [24176]
                                            )
                                          ]
                                          spids: [24176]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$xdir') 
                                                  ($ VSub_Name '$func_lo2o_result')
                                                }
                                              spids: [24183]
                                            )
                                          ]
                                          spids: [24183]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [-1 24141]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Name '$arg') ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [24208 24220]
                                )
                              ]
                              spids: [24129 24223]
                            )
                          ]
                          spids: [23713 23715 24226 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [24240]
                                )
                              ]
                              spids: [24240]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$old_deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [24248]
                                )
                              ]
                              spids: [24248]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [24230 24233 24259 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} {(Lit_Other '=')} 
                                          {(dlfiles)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlfiles') (' ') ($ VSub_Name '$arg'))
                                            }
                                          spids: [24293]
                                        )
                                      ]
                                      spids: [24293]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24301]
                                        )
                                      ]
                                      spids: [24301]
                                    )
                                  ]
                                  spids: [-1 24286]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} {(Lit_Other '=')} 
                                          {(dlprefiles)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlprefiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                ($ VSub_Name '$arg')
                                              )
                                            }
                                          spids: [24324]
                                        )
                                      ]
                                      spids: [24324]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24332]
                                        )
                                      ]
                                      spids: [24332]
                                    )
                                  ]
                                  spids: [24304 24317]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:deplibs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                      spids: [24338]
                                    )
                                  ]
                                  spids: [24338]
                                )
                              ]
                              spids: [24335 24346]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [24263 24265 24352 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [24379]
                                )
                              ]
                              spids: [24379]
                            )
                          ]
                          spids: [24360 24361 24385 -1]
                        )
                      ]
                      spids: [21378 21382 24388]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$arg'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                          ]
                          spids: [-1 24410]
                        )
                      ]
                      spids: [-1 24433]
                    )
                  ]
                  spids: [19840 24436]
                )
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {
                    (DQ ('the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$prevarg') ("' option requires an argument")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$export_dynamic'))} {(Lit_Other '=')} {(yes)})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_dynamic_flag_spec'))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {
                        (DQ ('arg=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$export_dynamic_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                        )
                      }
                    )
                    (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                    (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                  ]
                  spids: [-1 24489]
                )
              ]
              spids: [-1 24522]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:oldlibs) op:Equal rhs:{(SQ )} spids:[24526])]
              spids: [24526]
            )
            (C {(func_basename)} {(DQ ($ VSub_Name '$output'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:outputname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                  spids: [24540]
                )
              ]
              spids: [24540]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$libobjs'))}
                  spids: [24546]
                )
              ]
              spids: [24546]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike 'shlib_search_path=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)
                      } 
                      {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$shlibpath_var') (Lit_RBrace '}') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      } {(EscapedLiteralPart token:<Lit_EscapedChar '\\|'>)} 
                      {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (SED)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (s/) (Lit_Other ':') (/)} 
                      {(/g) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                      }
                    )
                  ]
                  spids: [-1 24564]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [24603]
                    )
                  ]
                  spids: [24603]
                )
              ]
              spids: [24600 24606]
            )
            (C {(eval)} 
              {
                (DQ ('sys_lib_search_path=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$sys_lib_search_path_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                )
              }
            )
            (C {(eval)} 
              {
                (DQ ('sys_lib_dlsearch_path=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$sys_lib_dlsearch_path_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                )
              }
            )
            (C {(func_dirname)} {(DQ ($ VSub_Name '$output'))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_dirname_result') ($ VSub_Name '$objdir'))}
                  spids: [24644]
                )
              ]
              spids: [24644]
            )
            (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$output_objdir'))})
            (Case
              to_match: {($ VSub_Name '$output')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_fatal_help)} {(DQ ('you must specify an output file'))})]
                  spids: [-1 24676 24686 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(oldlib)}
                          spids: [24694]
                        )
                      ]
                      spids: [24694]
                    )
                  ]
                  spids: [24689 24692 24697 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.lo)} {(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(obj)}
                          spids: [24710]
                        )
                      ]
                      spids: [24710]
                    )
                  ]
                  spids: [24700 24708 24713 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(lib)}
                          spids: [24720]
                        )
                      ]
                      spids: [24720]
                    )
                  ]
                  spids: [24716 24718 24723 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [24729]
                        )
                      ]
                      spids: [24729]
                    )
                  ]
                  spids: [24726 24727 24732 -1]
                )
              ]
              spids: [24667 24671 24738]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [24742]
                )
              ]
              spids: [24742]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[24746])]
              spids: [24746]
            )
            (ForEach
              iter_name: deplib
              iter_words: [{($ VSub_Name '$deplibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_duplicate_deps')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:specialdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$specialdeplibs') (' ') 
                                                ($ VSub_Name '$deplib')
                                              )
                                            }
                                          spids: [24797]
                                        )
                                      ]
                                      spids: [24797]
                                    )
                                  ]
                                  spids: [24788 24795 24804 -1]
                                )
                              ]
                              spids: [24778 24785 24807]
                            )
                          ]
                          spids: [-1 24775]
                        )
                      ]
                      spids: [-1 24810]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$libs') (' ') ($ VSub_Name '$deplib'))}
                          spids: [24813]
                        )
                      ]
                      spids: [24813]
                    )
                  ]
                  spids: [24766 24821]
                )
              spids: [24762 24764]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(lib)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$libs') (' ') 
                                ($ VSub_Name '$compiler_lib_search_path') (' ') ($ VSub_Name '$postdeps')
                              )
                            }
                          spids: [24841]
                        )
                      ]
                      spids: [24841]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [24866]
                        )
                      ]
                      spids: [24866]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_duplicate_compiler_generated_deps')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: pre_post_dep
                              iter_words: [{($ VSub_Name '$predeps')} {($ VSub_Name '$postdeps')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$pre_post_deps') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' ') ($ VSub_Name '$pre_post_dep') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:specialdeplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$specialdeplibs') (' ') 
                                                        ($ VSub_Name '$pre_post_deps')
                                                      )
                                                    }
                                                  spids: [24910]
                                                )
                                              ]
                                              spids: [24910]
                                            )
                                          ]
                                          spids: [24901 24908 24917 -1]
                                        )
                                      ]
                                      spids: [24891 24898 24920]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pre_post_deps)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$pre_post_deps') (' ') 
                                                ($ VSub_Name '$pre_post_dep')
                                              )
                                            }
                                          spids: [24923]
                                        )
                                      ]
                                      spids: [24923]
                                    )
                                  ]
                                  spids: [24888 24931]
                                )
                              spids: [24882 24886]
                            )
                          ]
                          spids: [-1 24874]
                        )
                      ]
                      spids: [-1 24934]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [24937]
                        )
                      ]
                      spids: [24937]
                    )
                  ]
                  spids: [-1 24838]
                )
              ]
              spids: [-1 24940]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[24944])]
              spids: [24944]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [24947]
                )
              ]
              spids: [24947]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [24950]
                )
              ]
              spids: [24950]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[24953])]
              spids: [24953]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [24960]
                )
              ]
              spids: [24960]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [24966]
                )
              ]
              spids: [24966]
            )
            (Case
              to_match: {($ VSub_Name '$linkmode')}
              arms: [
                (case_arm
                  pat_list: [{(lib)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv dlpreopen link'))}
                          spids: [24984]
                        )
                      ]
                      spids: [24984]
                    )
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$dlfiles')} {($ VSub_Name '$dlprefiles')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  spids: [25011 25013 25015 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ('libraries can ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ("-dlopen' only libtool libraries: ") ($ VSub_Name '$file')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [25018 25019 25032 -1]
                                )
                              ]
                              spids: [25004 25008 25035]
                            )
                          ]
                          spids: [25001 25038]
                        )
                      spids: [24995 24999]
                    )
                  ]
                  spids: [24980 24981 25041 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [25048]
                        )
                      ]
                      spids: [25048]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [25051]
                        )
                      ]
                      spids: [25051]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(no)}
                          spids: [25054]
                        )
                      ]
                      spids: [25054]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [25058]
                        )
                      ]
                      spids: [25058]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [25061]
                        )
                      ]
                      spids: [25061]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv scan dlopen dlpreopen link'))}
                          spids: [25064]
                        )
                      ]
                      spids: [25064]
                    )
                  ]
                  spids: [25044 25045 25070 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ (conv))}
                          spids: [25076]
                        )
                      ]
                      spids: [25076]
                    )
                  ]
                  spids: [25073 25074 25082 -1]
                )
              ]
              spids: [24973 24977 25085]
            )
            (ForEach
              iter_name: pass
              iter_words: [{($ VSub_Name '$passes')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} 
                                  {(Lit_Other '=')} {(DQ ('lib,link'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [25137]
                                )
                              ]
                              spids: [25137]
                            )
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$tmp_deplibs')
                                              )
                                            }
                                          spids: [25152]
                                        )
                                      ]
                                      spids: [25152]
                                    )
                                  ]
                                  spids: [25149 25160]
                                )
                              spids: [25145 25147]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$tmp_deplibs'))}
                                  spids: [25163]
                                )
                              ]
                              spids: [25163]
                            )
                          ]
                          spids: [-1 25126]
                        )
                      ]
                      spids: [-1 25169]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} 
                                      {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(DQ ('lib,link'))}
                                    )
                                    (C {(test)} 
                                      {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(DQ ('prog,scan'))}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs'))}
                                  spids: [25210]
                                )
                              ]
                              spids: [25210]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [25216]
                                )
                              ]
                              spids: [25216]
                            )
                          ]
                          spids: [-1 25207]
                        )
                      ]
                      spids: [-1 25219]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(prog)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$pass')}
                              arms: [
                                (case_arm
                                  pat_list: [{(dlopen)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$dlfiles'))}
                                          spids: [25248]
                                        )
                                      ]
                                      spids: [25248]
                                    )
                                  ]
                                  spids: [25245 25246 25253 -1]
                                )
                                (case_arm
                                  pat_list: [{(dlpreopen)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                                          spids: [25259]
                                        )
                                      ]
                                      spids: [25259]
                                    )
                                  ]
                                  spids: [25256 25257 25264 -1]
                                )
                                (case_arm
                                  pat_list: [{(link)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplibs') (' %DEPLIBS% ') 
                                                ($ VSub_Name '$dependency_libs')
                                              )
                                            }
                                          spids: [25270]
                                        )
                                      ]
                                      spids: [25270]
                                    )
                                  ]
                                  spids: [25267 25268 25277 -1]
                                )
                              ]
                              spids: [25238 25242 25280]
                            )
                          ]
                          spids: [-1 25235]
                        )
                      ]
                      spids: [-1 25283]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} 
                                  {(Lit_Other '=')} {(DQ ('lib,dlpreopen'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: lib
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [25326]
                                        )
                                      ]
                                      spids: [25326]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$lib')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)}]
                                          action: [(C {(func_source)} {(DQ ($ VSub_Name '$lib'))})]
                                          spids: [25336 25338 25346 -1]
                                        )
                                      ]
                                      spids: [25329 25333 25349]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_basename)} {(DQ ($ VSub_Name '$deplib'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplib_base)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_basename_result')}
                                                  spids: [25380]
                                                )
                                              ]
                                              spids: [25380]
                                            )
                                            (Case
                                              to_match: {(DQ (' ') ($ VSub_Name '$weak_libs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib_base') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [25395 25402 25404 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplibs') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [25410]
                                                        )
                                                      ]
                                                      spids: [25410]
                                                    )
                                                  ]
                                                  spids: [25407 25408 25417 -1]
                                                )
                                              ]
                                              spids: [25384 25392 25420]
                                            )
                                          ]
                                          spids: [25370 25423]
                                        )
                                      spids: [25366 25368]
                                    )
                                  ]
                                  spids: [25319 25426]
                                )
                              spids: [25315 25317]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                                  spids: [25429]
                                )
                              ]
                              spids: [25429]
                            )
                          ]
                          spids: [-1 25303]
                        )
                      ]
                      spids: [-1 25435]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(dlopen)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs'))}
                                  spids: [25458]
                                )
                              ]
                              spids: [25458]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [25464]
                                )
                              ]
                              spids: [25464]
                            )
                          ]
                          spids: [-1 25451]
                        )
                      ]
                      spids: [-1 25467]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$libs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [25483]
                                )
                              ]
                              spids: [25483]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [25486]
                                )
                              ]
                              spids: [25486]
                            )
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(-mt)}
                                    {(-mthreads)}
                                    {(-kthread)}
                                    {(-Kthread)}
                                    {(-pthread)}
                                    {(-pthreads)}
                                    {(--thread-safe)}
                                    {(-threads)}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [25535]
                                                )
                                              ]
                                              spids: [25535]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [25543]
                                                )
                                              ]
                                              spids: [25543]
                                            )
                                          ]
                                          spids: [-1 25532]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compiler_flags)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                    ($ VSub_Name '$deplib')
                                                  )
                                                }
                                              spids: [25554]
                                            )
                                          ]
                                          spids: [25554]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Case
                                                  to_match: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_inherited_linker_flags') 
                                                        (' ')
                                                      )
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                        }
                                                      ]
                                                      spids: [25589 25596 25598 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (LhsName
                                                                  name: new_inherited_linker_flags
                                                                )
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$new_inherited_linker_flags'
                                                                    ) (' ') ($ VSub_Name '$deplib')
                                                                  )
                                                                }
                                                              spids: [25605]
                                                            )
                                                          ]
                                                          spids: [25605]
                                                        )
                                                      ]
                                                      spids: [25601 25603 25612 -1]
                                                    )
                                                  ]
                                                  spids: [25579 25586 25615]
                                                )
                                              ]
                                              spids: [-1 25576]
                                            )
                                          ]
                                          spids: [-1 25618]
                                        )
                                      ]
                                      spids: [25551 25621]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25497 25512 25627 -1]
                                )
                                (case_arm
                                  pat_list: [{(-l) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(lib)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(prog)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ("-l' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 25662]
                                        )
                                      ]
                                      spids: [-1 25676]
                                    )
                                    (C {(func_stripname)} {(SQ <-l>)} {(SQ )} 
                                      {(DQ ($ VSub_Name '$deplib'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:name)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [25693]
                                        )
                                      ]
                                      spids: [25693]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                  {(Lit_Other '=')} {(lib)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:searchdirs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                        ($ VSub_Name '$lib_search_path') (' ') ($ VSub_Name '$compiler_lib_search_dirs') (' ') ($ VSub_Name '$sys_lib_search_path') (' ') 
                                                        ($ VSub_Name '$shlib_search_path')
                                                      )
                                                    }
                                                  spids: [25713]
                                                )
                                              ]
                                              spids: [25713]
                                            )
                                          ]
                                          spids: [-1 25710]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:searchdirs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                    ($ VSub_Name '$lib_search_path') (' ') ($ VSub_Name '$sys_lib_search_path') (' ') ($ VSub_Name '$shlib_search_path')
                                                  )
                                                }
                                              spids: [25730]
                                            )
                                          ]
                                          spids: [25730]
                                        )
                                      ]
                                      spids: [25727 25742]
                                    )
                                    (ForEach
                                      iter_name: searchdir
                                      iter_words: [{($ VSub_Name '$searchdirs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (ForEach
                                              iter_name: search_ext
                                              iter_words: [
                                                {(.la)}
                                                {($ VSub_Name '$std_shrext')}
                                                {(.so)}
                                                {(.a)}
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$searchdir') (/lib) 
                                                                (${ VSub_Name name) (${ VSub_Name search_ext)
                                                              )
                                                            }
                                                          spids: [25779]
                                                        )
                                                      ]
                                                      spids: [25779]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-f)} 
                                                                  {(DQ ($ VSub_Name '$lib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$search_ext'
                                                                              )
                                                                            )
                                                                          } {(Lit_Other '=')} {(DQ (.la))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:found)
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [25824]
                                                                        )
                                                                      ]
                                                                      spids: [25824]
                                                                    )
                                                                  ]
                                                                  spids: [-1 25821]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(no)}
                                                                      spids: [25831]
                                                                    )
                                                                  ]
                                                                  spids: [25831]
                                                                )
                                                              ]
                                                              spids: [25828 25835]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [-1 25803]
                                                        )
                                                      ]
                                                      spids: [-1 25843]
                                                    )
                                                  ]
                                                  spids: [25772 25846]
                                                )
                                              spids: [25762 25770]
                                            )
                                          ]
                                          spids: [25754 25849]
                                        )
                                      spids: [25750 25752]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$found'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ ($ VSub_Name '$linkmode') (',') 
                                                              ($ VSub_Name '$pass')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$compile_deplibs')
                                                              )
                                                            }
                                                          spids: [25893]
                                                        )
                                                      ]
                                                      spids: [25893]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [25901]
                                                        )
                                                      ]
                                                      spids: [25901]
                                                    )
                                                  ]
                                                  spids: [-1 25890]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$deplibs')
                                                          )
                                                        }
                                                      spids: [25912]
                                                    )
                                                  ]
                                                  spids: [25912]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdependency_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$newdependency_libs')
                                                              )
                                                            }
                                                          spids: [25932]
                                                        )
                                                      ]
                                                      spids: [25932]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [25909 25940]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 25866]
                                        )
                                      ]
                                      else_action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} 
                                                      {
                                                        (DQ (X) 
                                                          ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                          )
                                                        )
                                                      } {(Lit_Other '=')} {(DQ (Xyes))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Case
                                                  to_match: 
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$predeps') (' ') 
                                                        ($ VSub_Name '$postdeps') (' ')
                                                      )
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(func_lalib_p)} 
                                                                      {(DQ ($ VSub_Name '$lib'))}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: library_names
                                                                        )
                                                                      op: Equal
                                                                      rhs: {(SQ )}
                                                                      spids: [26015]
                                                                    )
                                                                  ]
                                                                  spids: [26015]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:old_library)
                                                                      op: Equal
                                                                      rhs: {(SQ )}
                                                                      spids: [26018]
                                                                    )
                                                                  ]
                                                                  spids: [26018]
                                                                )
                                                                (C {(func_source)} 
                                                                  {(DQ ($ VSub_Name '$lib'))}
                                                                )
                                                                (ForEach
                                                                  iter_name: l
                                                                  iter_words: [
                                                                    {($ VSub_Name '$old_library')}
                                                                    {($ VSub_Name '$library_names')}
                                                                  ]
                                                                  do_arg_iter: False
                                                                  body: 
                                                                    (DoGroup
                                                                      children: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:ll)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name '$l')
                                                                                  )
                                                                                }
                                                                              spids: [26042]
                                                                            )
                                                                          ]
                                                                          spids: [26042]
                                                                        )
                                                                      ]
                                                                      spids: [26039 26048]
                                                                    )
                                                                  spids: [26033 26037]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ (X) 
                                                                                  ($ VSub_Name '$ll')
                                                                                )
                                                                              } {(Lit_Other '=')} {(DQ (X) ($ VSub_Name '$old_library'))}
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: found
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(no)}
                                                                              spids: [26075]
                                                                            )
                                                                          ]
                                                                          spids: [26075]
                                                                        )
                                                                        (C {(func_dirname)} 
                                                                          {(DQ ($ VSub_Name '$lib'))} {(DQ )} {(DQ (.))}
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: ladir
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$func_dirname_result'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              spids: [26093]
                                                                            )
                                                                          ]
                                                                          spids: [26093]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Name 
'$ladir'
                                                                                  ) (/) ($ VSub_Name '$old_library')
                                                                                }
                                                                              spids: [26099]
                                                                            )
                                                                          ]
                                                                          spids: [26099]
                                                                        )
                                                                        (If
                                                                          arms: [
                                                                            (if_arm
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$linkmode'
                                                                                          ) (',') ($ VSub_Name '$pass')
                                                                                        )
                                                                                      } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
compile_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$compile_deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [26125]
                                                                                    )
                                                                                  ]
                                                                                  spids: [26125]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
finalize_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$finalize_deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [26133]
                                                                                    )
                                                                                  ]
                                                                                  spids: [26133]
                                                                                )
                                                                              ]
                                                                              spids: [-1 26122]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: deplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$deplib'
                                                                                        ) (' ') ($ VSub_Name '$deplibs')
                                                                                      )
                                                                                    }
                                                                                  spids: [26144]
                                                                                )
                                                                              ]
                                                                              spids: [26144]
                                                                            )
                                                                            (AndOr
                                                                              children: [
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$linkmode'
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other '=')} {(lib)}
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdependency_libs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$newdependency_libs')
                                                                                          )
                                                                                        }
                                                                                      spids: [26164]
                                                                                    )
                                                                                  ]
                                                                                  spids: [26164]
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [26141 26172]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [-1 26069]
                                                                    )
                                                                  ]
                                                                  spids: [-1 26178]
                                                                )
                                                              ]
                                                              spids: [-1 26012]
                                                            )
                                                          ]
                                                          spids: [-1 26181]
                                                        )
                                                      ]
                                                      spids: [25993 26000 26184 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      spids: [26187 26188 26190 -1]
                                                    )
                                                  ]
                                                  spids: [25980 25990 26193]
                                                )
                                              ]
                                              spids: [-1 25977]
                                            )
                                          ]
                                          spids: [-1 26196]
                                        )
                                      ]
                                      spids: [25946 26199]
                                    )
                                  ]
                                  spids: [25630 25632 26202 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.ltframework)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [26233]
                                                )
                                              ]
                                              spids: [26233]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [26241]
                                                )
                                              ]
                                              spids: [26241]
                                            )
                                          ]
                                          spids: [-1 26230]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [26252]
                                            )
                                          ]
                                          spids: [26252]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Case
                                                  to_match: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_inherited_linker_flags') 
                                                        (' ')
                                                      )
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                        }
                                                      ]
                                                      spids: [26287 26294 26296 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (LhsName
                                                                  name: new_inherited_linker_flags
                                                                )
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$new_inherited_linker_flags'
                                                                    ) (' ') ($ VSub_Name '$deplib')
                                                                  )
                                                                }
                                                              spids: [26303]
                                                            )
                                                          ]
                                                          spids: [26303]
                                                        )
                                                      ]
                                                      spids: [26299 26301 26310 -1]
                                                    )
                                                  ]
                                                  spids: [26277 26284 26313]
                                                )
                                              ]
                                              spids: [-1 26274]
                                            )
                                          ]
                                          spids: [-1 26316]
                                        )
                                      ]
                                      spids: [26249 26319]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26208 26210 26325 -1]
                                )
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$linkmode')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(lib)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [26344]
                                                )
                                              ]
                                              spids: [26344]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(conv)}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [26367]
                                                )
                                              ]
                                              spids: [26367]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib_search_path)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                        ($ VSub_Name '$func_stripname_result')
                                                      )
                                                    }
                                                  spids: [26389]
                                                )
                                              ]
                                              spids: [26389]
                                            )
                                          ]
                                          spids: [26340 26341 26397 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(prog)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(Lit_Other '=')} {(conv)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [26420]
                                                        )
                                                      ]
                                                      spids: [26420]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [-1 26417]
                                                )
                                              ]
                                              spids: [-1 26431]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(Lit_Other '=')} {(scan)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [26450]
                                                        )
                                                      ]
                                                      spids: [26450]
                                                    )
                                                  ]
                                                  spids: [-1 26447]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:compile_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$compile_deplibs')
                                                          )
                                                        }
                                                      spids: [26461]
                                                    )
                                                  ]
                                                  spids: [26461]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [26469]
                                                    )
                                                  ]
                                                  spids: [26469]
                                                )
                                              ]
                                              spids: [26458 26477]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib_search_path)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                        ($ VSub_Name '$func_stripname_result')
                                                      )
                                                    }
                                                  spids: [26494]
                                                )
                                              ]
                                              spids: [26494]
                                            )
                                          ]
                                          spids: [26400 26401 26502 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ("-L' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [26505 26506 26517 -1]
                                        )
                                      ]
                                      spids: [26333 26337 26520]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26328 26330 26529 -1]
                                )
                                (case_arm
                                  pat_list: [{(-R) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(link)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [26570]
                                                )
                                              ]
                                              spids: [26570]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [26588 26595 26597 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:xrpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$xrpath') (' ') 
                                                                ($ VSub_Name '$dir')
                                                              )
                                                            }
                                                          spids: [26603]
                                                        )
                                                      ]
                                                      spids: [26603]
                                                    )
                                                  ]
                                                  spids: [26600 26601 26610 -1]
                                                )
                                              ]
                                              spids: [26578 26585 26613]
                                            )
                                          ]
                                          spids: [-1 26553]
                                        )
                                      ]
                                      spids: [-1 26616]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [26619]
                                        )
                                      ]
                                      spids: [26619]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26535 26537 26630 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$deplib'))}
                                          spids: [26637]
                                        )
                                      ]
                                      spids: [26637]
                                    )
                                  ]
                                  spids: [26633 26635 26642 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(conv)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [26667]
                                                )
                                              ]
                                              spids: [26667]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 26664]
                                        )
                                      ]
                                      spids: [-1 26678]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$linkmode')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(lib)}]
                                          action: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$dlpreconveniencelibs') (' '))
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [26711 26718 26720 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:valid_a_lib)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [26727]
                                                        )
                                                      ]
                                                      spids: [26727]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$deplibs_check_method')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(match_pattern) (Lit_Other '*')}]
                                                          action: [
                                                            (Sentence
                                                              child: 
                                                                (C {(set)} {(dummy)} 
                                                                  {
                                                                    ($ VSub_Name 
'$deplibs_check_method'
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                            (C {(shift)})
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: match_pattern_regex
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(expr)} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$deplibs_check_method'
                                                                                    )
                                                                                  )
                                                                                } {(Lit_Other ':')} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Number 
'$1'
                                                                                    ) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) ('.*') 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\)'
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [26754 26770]
                                                                      )
                                                                    }
                                                                  spids: [26753]
                                                                )
                                                              ]
                                                              spids: [26753]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (Pipeline
                                                                          children: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(eval)}
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\$'
                                                                                        >
                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$deplib') 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\"'
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: 2
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [26785]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name '$SED')} 
                                                                              {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
'$EGREP'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$match_pattern_regex'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [26804]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [26812]
                                                                        )
                                                                      ]
                                                                      spids: [26812]
                                                                    )
                                                                  ]
                                                                  spids: [-1 26809]
                                                                )
                                                              ]
                                                              spids: [-1 26816]
                                                            )
                                                          ]
                                                          spids: [26738 26740 26819 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(pass_all)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:valid_a_lib)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [26826]
                                                                )
                                                              ]
                                                              spids: [26826]
                                                            )
                                                          ]
                                                          spids: [26822 26823 26830 -1]
                                                        )
                                                      ]
                                                      spids: [26731 26735 26833]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {(DQ ($ VSub_Name '$valid_a_lib'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: Trying to link with static lib archive '
                                                                  ) ($ VSub_Name '$deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because the file extensions .'
                                                                  ) ($ VSub_Name '$libext') (' of this argument makes me believe')
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** that it is just a static archive that I should not use here.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [-1 26850]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(echo)})
                                                        (C {($ VSub_Name '$ECHO')} 
                                                          {
                                                            (DQ 
                                                              (
'*** Warning: Linking the shared library '
                                                              ) ($ VSub_Name '$output') (' against the')
                                                            )
                                                          }
                                                        )
                                                        (C {($ VSub_Name '$ECHO')} 
                                                          {
                                                            (DQ ('*** static library ') 
                                                              ($ VSub_Name '$deplib') (' is not portable!')
                                                            )
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                                    ($ VSub_Name '$deplibs')
                                                                  )
                                                                }
                                                              spids: [26926]
                                                            )
                                                          ]
                                                          spids: [26926]
                                                        )
                                                      ]
                                                      spids: [26902 26934]
                                                    )
                                                  ]
                                                  spids: [26723 26724 26937 -1]
                                                )
                                              ]
                                              spids: [26700 26708 26940]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26688 26689 26946 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(prog)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(link)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [26970]
                                                        )
                                                      ]
                                                      spids: [26970]
                                                    )
                                                  ]
                                                  spids: [-1 26967]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:compile_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$compile_deplibs')
                                                          )
                                                        }
                                                      spids: [26981]
                                                    )
                                                  ]
                                                  spids: [26981]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [26989]
                                                    )
                                                  ]
                                                  spids: [26989]
                                                )
                                              ]
                                              spids: [26978 26997]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26949 26950 27003 -1]
                                        )
                                      ]
                                      spids: [26681 26685 27006]
                                    )
                                  ]
                                  spids: [26645 26648 27012 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (.lo)}
                                    {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(conv)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [27045]
                                                )
                                              ]
                                              spids: [27045]
                                            )
                                          ]
                                          spids: [-1 27042]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                  {(Lit_Other '=')} {(prog)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                              {(Lit_Other '=')} {(dlpreopen)}
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$dlopen_support')
                                                                    )
                                                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$build_libtool_libs'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdlprefiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [27118]
                                                        )
                                                      ]
                                                      spids: [27118]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$compile_deplibs')
                                                              )
                                                            }
                                                          spids: [27126]
                                                        )
                                                      ]
                                                      spids: [27126]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [27134]
                                                        )
                                                      ]
                                                      spids: [27134]
                                                    )
                                                  ]
                                                  spids: [-1 27107]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                            ($ VSub_Name '$deplib')
                                                          )
                                                        }
                                                      spids: [27145]
                                                    )
                                                  ]
                                                  spids: [27145]
                                                )
                                              ]
                                              spids: [27142 27153]
                                            )
                                          ]
                                          spids: [27053 27066]
                                        )
                                      ]
                                      spids: [-1 27156]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [27018 27026 27162 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '%') (DEPLIBS) (Lit_Other '%')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:alldeplibs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [27171]
                                        )
                                      ]
                                      spids: [27171]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [27165 27168 27178 -1]
                                )
                              ]
                              spids: [25490 25494 27181]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$found'))} {(Lit_Other '=')} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lib'))})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [-1 27211]
                                )
                              ]
                              else_action: [
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ('cannot find the library ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$lib') ("' or unhandled argument ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$deplib') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [27216 27232]
                            )
                            (AndOr
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$lib'))})
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$lib'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ladir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [27274]
                                )
                              ]
                              spids: [27274]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27281]
                                )
                              ]
                              spids: [27281]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27284]
                                )
                              ]
                              spids: [27284]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27287]
                                )
                              ]
                              spids: [27287]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27290]
                                )
                              ]
                              spids: [27290]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27293]
                                )
                              ]
                              spids: [27293]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27296]
                                )
                              ]
                              spids: [27296]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27299]
                                )
                              ]
                              spids: [27299]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [27310]
                                )
                              ]
                              spids: [27310]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [27314]
                                )
                              ]
                              spids: [27314]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27318]
                                )
                              ]
                              spids: [27318]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$lib'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$inherited_linker_flags'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$inherited_linker_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (SQ 
                                                                <
's/-framework \\([^ $]*\\)/\\1.ltframework/g'
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [27354 27368]
                                              )
                                            }
                                          spids: [27353]
                                        )
                                      ]
                                      spids: [27353]
                                    )
                                    (ForEach
                                      iter_name: tmp_inherited_linker_flag
                                      iter_words: [{($ VSub_Name '$tmp_inherited_linker_flags')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') 
                                                    ($ VSub_Name '$new_inherited_linker_flags') (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') 
                                                        ($ VSub_Name '$tmp_inherited_linker_flag') (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [27394 27401 27403 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (LhsName
                                                              name: new_inherited_linker_flags
                                                            )
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$new_inherited_linker_flags'
                                                                ) (' ') ($ VSub_Name '$tmp_inherited_linker_flag')
                                                              )
                                                            }
                                                          spids: [27409]
                                                        )
                                                      ]
                                                      spids: [27409]
                                                    )
                                                  ]
                                                  spids: [27406 27407 27415 -1]
                                                )
                                              ]
                                              spids: [27383 27391 27418]
                                            )
                                          ]
                                          spids: [27380 27421]
                                        )
                                      spids: [27376 27378]
                                    )
                                  ]
                                  spids: [-1 27350]
                                )
                              ]
                              spids: [-1 27424]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dependency_libs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$dependency_libs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [27428 27443]
                                      )
                                    }
                                  spids: [27427]
                                )
                              ]
                              spids: [27427]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} 
                                              {
                                                (DQ ($ VSub_Name '$linkmode') (',') 
                                                  ($ VSub_Name '$pass')
                                                )
                                              } {(Lit_Other '=')} {(DQ ('lib,link'))}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,scan'))}
                                                )
                                                (BraceGroup
                                                  children: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(prog)}
                                                            )
                                                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(lib)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  spids: [27482]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlopen'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dlfiles') (' ') 
                                                    ($ VSub_Name '$dlopen')
                                                  )
                                                }
                                              spids: [27525]
                                            )
                                          ]
                                          spids: [27525]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlpreopen'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                    ($ VSub_Name '$dlpreopen')
                                                  )
                                                }
                                              spids: [27543]
                                            )
                                          ]
                                          spids: [27543]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 27512]
                                )
                              ]
                              spids: [-1 27551]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} 
                                          {(conv)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib') (' ') ($ VSub_Name '$deplibs'))
                                            }
                                          spids: [27575]
                                        )
                                      ]
                                      spids: [27575]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_fatal_error)} 
                                                      {
                                                        (DQ ('cannot find name of link library for ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ($ VSub_Name '$lib') ("'")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 27608]
                                                )
                                              ]
                                              spids: [-1 27621]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:convenience)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$convenience') (' ') 
                                                        ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                      )
                                                    }
                                                  spids: [27628]
                                                )
                                              ]
                                              spids: [27628]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:old_convenience)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$old_convenience') (' ') 
                                                        ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                      )
                                                    }
                                                  spids: [27640]
                                                )
                                              ]
                                              spids: [27640]
                                            )
                                          ]
                                          spids: [-1 27594]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(lib)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ($ VSub_Name '$lib') ("' is not a convenience library")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [27652 27679]
                                        )
                                      ]
                                      spids: [-1 27691]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [27694]
                                        )
                                      ]
                                      spids: [27694]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [27709]
                                                )
                                              ]
                                              spids: [27709]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name '$opt_duplicate_deps')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$specialdeplibs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [27745]
                                                                )
                                                              ]
                                                              spids: [27745]
                                                            )
                                                          ]
                                                          spids: [27736 27743 27752 -1]
                                                        )
                                                      ]
                                                      spids: [27726 27733 27755]
                                                    )
                                                  ]
                                                  spids: [-1 27723]
                                                )
                                              ]
                                              spids: [-1 27758]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [27761]
                                                )
                                              ]
                                              spids: [27761]
                                            )
                                          ]
                                          spids: [27706 27769]
                                        )
                                      spids: [27702 27704]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 27568]
                                )
                              ]
                              spids: [-1 27775]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27787]
                                )
                              ]
                              spids: [27787]
                            )
                            (ForEach
                              iter_name: l
                              iter_words: [
                                {($ VSub_Name '$old_library')}
                                {($ VSub_Name '$library_names')}
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linklib)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$l'))}
                                          spids: [27804]
                                        )
                                      ]
                                      spids: [27804]
                                    )
                                  ]
                                  spids: [27801 27810]
                                )
                              spids: [27795 27799]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$linklib'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ('cannot find name of link library for ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$lib') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 27824]
                                )
                              ]
                              spids: [-1 27837]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} 
                                          {(dlopen)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ('cannot -dlopen a convenience library: ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$lib') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 27872]
                                        )
                                      ]
                                      spids: [-1 27885]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$dlopen_support'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                        )
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(no)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                        ($ VSub_Name '$lib') (' ') ($ VSub_Name '$dependency_libs')
                                                      )
                                                    }
                                                  spids: [27945]
                                                )
                                              ]
                                              spids: [27945]
                                            )
                                          ]
                                          spids: [-1 27926]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                    ($ VSub_Name '$lib')
                                                  )
                                                }
                                              spids: [27958]
                                            )
                                          ]
                                          spids: [27958]
                                        )
                                      ]
                                      spids: [27955 27966]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 27858]
                                )
                              ]
                              spids: [-1 27972]
                            )
                            (Case
                              to_match: {($ VSub_Name '$ladir')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '[') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\\\'>
                                      ) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                    {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                      (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:abs_ladir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$ladir'))}
                                          spids: [28009]
                                        )
                                      ]
                                      spids: [28009]
                                    )
                                  ]
                                  spids: [27990 28007 28014 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:abs_ladir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$ladir'))})
                                                          (C {(pwd)})
                                                        ]
                                                        op_id: Op_DAmp
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [28022 28032]
                                              )
                                            }
                                          spids: [28021]
                                        )
                                      ]
                                      spids: [28021]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$abs_ladir'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ ('cannot determine absolute directory name of ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$ladir') ("'")
                                                )
                                              }
                                            )
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
'passing it literally to the linker, although it might fail'
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:abs_ladir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$ladir'))}
                                                  spids: [28066]
                                                )
                                              ]
                                              spids: [28066]
                                            )
                                          ]
                                          spids: [-1 28046]
                                        )
                                      ]
                                      spids: [-1 28072]
                                    )
                                  ]
                                  spids: [28017 28018 28075 -1]
                                )
                              ]
                              spids: [27983 27987 28078]
                            )
                            (C {(func_basename)} {(DQ ($ VSub_Name '$lib'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:laname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                  spids: [28088]
                                )
                              ]
                              spids: [28088]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$installed'))} 
                                          {(Lit_Other '=')} {(Xyes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name '$libdir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ ('library ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$lib') ("' was moved.")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$ladir'))}
                                                  spids: [28156]
                                                )
                                              ]
                                              spids: [28156]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                                  spids: [28162]
                                                )
                                              ]
                                              spids: [28162]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                                  spids: [28168]
                                                )
                                              ]
                                              spids: [28168]
                                            )
                                          ]
                                          spids: [-1 28143]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$libdir'))}
                                              spids: [28177]
                                            )
                                          ]
                                          spids: [28177]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$libdir'))}
                                              spids: [28183]
                                            )
                                          ]
                                          spids: [28183]
                                        )
                                      ]
                                      spids: [28174 28189]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$hardcode_automatic'))} 
                                          {(Lit_Other '=')} {(Xyes)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:avoidtemprpath)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [28205]
                                            )
                                          ]
                                          spids: [28205]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 28113]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$ladir') (/) 
                                                      ($ VSub_Name '$objdir') (/) ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                      ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$ladir'))}
                                              spids: [28244]
                                            )
                                          ]
                                          spids: [28244]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                              spids: [28250]
                                            )
                                          ]
                                          spids: [28250]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:notinst_path)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$notinst_path') (' ') 
                                                    ($ VSub_Name '$abs_ladir')
                                                  )
                                                }
                                              spids: [28260]
                                            )
                                          ]
                                          spids: [28260]
                                        )
                                      ]
                                      spids: [-1 28241]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir'))}
                                          spids: [28271]
                                        )
                                      ]
                                      spids: [28271]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                ($ VSub_Name '$objdir')
                                              )
                                            }
                                          spids: [28279]
                                        )
                                      ]
                                      spids: [28279]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$notinst_path') (' ') 
                                                ($ VSub_Name '$abs_ladir')
                                              )
                                            }
                                          spids: [28291]
                                        )
                                      ]
                                      spids: [28291]
                                    )
                                  ]
                                  spids: [28268 28299]
                                )
                              ]
                              spids: [28209 28302]
                            )
                            (C {(func_stripname)} {(SQ <lib>)} {(SQ <.la>)} {(DQ ($ VSub_Name '$laname'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [28323]
                                )
                              ]
                              spids: [28323]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} 
                                          {(dlpreopen)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(prog)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ 
                                                  (
'only libraries may -dlpreopen a convenience library: '
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$lib') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 28371]
                                        )
                                      ]
                                      spids: [-1 28384]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$old_library')
                                                      )
                                                    }
                                                  spids: [28409]
                                                )
                                              ]
                                              spids: [28409]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlpreconveniencelibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$dlpreconveniencelibs') 
                                                            (' ') ($ VSub_Name '$dir') (/) ($ VSub_Name '$old_library')
                                                          )
                                                        }
                                                      spids: [28439]
                                                    )
                                                  ]
                                                  spids: [28439]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 28406]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$dlname')
                                                      )
                                                    }
                                                  spids: [28467]
                                                )
                                              ]
                                              spids: [28467]
                                            )
                                          ]
                                          spids: [28453 28464]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                    ($ VSub_Name '$dir') (/) ($ VSub_Name '$linklib')
                                                  )
                                                }
                                              spids: [28480]
                                            )
                                          ]
                                          spids: [28480]
                                        )
                                      ]
                                      spids: [28477 28490]
                                    )
                                  ]
                                  spids: [-1 28345]
                                )
                              ]
                              spids: [-1 28493]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                  {(Lit_Other '=')} {(lib)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$old_library') (' ') ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [28534]
                                                )
                                              ]
                                              spids: [28534]
                                            )
                                          ]
                                          spids: [-1 28531]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$old_library') (' ') ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [28564]
                                                )
                                              ]
                                              spids: [28564]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$old_library') (' ') ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [28574]
                                                )
                                              ]
                                              spids: [28574]
                                            )
                                          ]
                                          spids: [28544 28561]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$lib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [28587]
                                            )
                                          ]
                                          spids: [28587]
                                        )
                                      ]
                                      spids: [28584 28598]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 28511]
                                )
                              ]
                              spids: [-1 28604]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                              {(Lit_Other '=')} {(prog)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(link)}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                ($ VSub_Name '$ladir')
                                              )
                                            }
                                          spids: [28638]
                                        )
                                      ]
                                      spids: [28638]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib') (' ') ($ VSub_Name '$deplibs'))
                                            }
                                          spids: [28646]
                                        )
                                      ]
                                      spids: [28646]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [28655]
                                        )
                                      ]
                                      spids: [28655]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$link_all_deplibs'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$library_names'))}
                                                        )
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(no)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linkalldeplibs)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [28699]
                                                )
                                              ]
                                              spids: [28699]
                                            )
                                          ]
                                          spids: [-1 28696]
                                        )
                                      ]
                                      spids: [-1 28703]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28707]
                                        )
                                      ]
                                      spids: [28707]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newlib_search_path)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newlib_search_path') 
                                                                (' ') ($ VSub_Name '$func_stripname_result')
                                                              )
                                                            }
                                                          spids: [28747]
                                                        )
                                                      ]
                                                      spids: [28747]
                                                    )
                                                  ]
                                                  spids: [28729 28731 28755 -1]
                                                )
                                              ]
                                              spids: [28722 28726 28758]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$linkalldeplibs'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [28781]
                                                        )
                                                      ]
                                                      spids: [28781]
                                                    )
                                                  ]
                                                  spids: [-1 28778]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdependency_libs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$newdependency_libs')
                                                          )
                                                        }
                                                      spids: [28800]
                                                    )
                                                  ]
                                                  spids: [28800]
                                                )
                                              ]
                                              spids: [28789 28808]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name '$opt_duplicate_deps')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$specialdeplibs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [28839]
                                                                )
                                                              ]
                                                              spids: [28839]
                                                            )
                                                          ]
                                                          spids: [28830 28837 28846 -1]
                                                        )
                                                      ]
                                                      spids: [28820 28827 28849]
                                                    )
                                                  ]
                                                  spids: [-1 28817]
                                                )
                                              ]
                                              spids: [-1 28852]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [28855]
                                                )
                                              ]
                                              spids: [28855]
                                            )
                                          ]
                                          spids: [28719 28863]
                                        )
                                      spids: [28715 28717]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 28635]
                                )
                              ]
                              spids: [-1 28872]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} 
                                          {
                                            (DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))
                                          } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$library_names'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$prefer_static_libs'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(no)}
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$prefer_static_libs'
                                                                                  ) (',') ($ VSub_Name '$installed')
                                                                                )
                                                                              } {(Lit_Other '=')} {(DQ ('built,yes'))}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [28914]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$old_library'))}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [28912]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$shlibpath_var'))}
                                                            )
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$avoidtemprpath'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$temp_rpath') (':'))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ ($ VSub_Name '$absdir') (':')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29007 29013 29015 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$temp_rpath') 
                                                                        ($ VSub_Name '$absdir') (':')
                                                                      )
                                                                    }
                                                                  spids: [29021]
                                                                )
                                                              ]
                                                              spids: [29021]
                                                            )
                                                          ]
                                                          spids: [29018 29019 29028 -1]
                                                        )
                                                      ]
                                                      spids: [28997 29004 29031]
                                                    )
                                                  ]
                                                  spids: [-1 28990]
                                                )
                                              ]
                                              spids: [-1 29034]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29061 29068 29070 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$compile_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29087 29094 29096 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:compile_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$compile_rpath') (' ') ($ VSub_Name '$absdir')
                                                                      )
                                                                    }
                                                                  spids: [29102]
                                                                )
                                                              ]
                                                              spids: [29102]
                                                            )
                                                          ]
                                                          spids: [29099 29100 -1 29110]
                                                        )
                                                      ]
                                                      spids: [29077 29084 29110]
                                                    )
                                                  ]
                                                  spids: [29073 29074 29113 -1]
                                                )
                                              ]
                                              spids: [29050 29058 29116]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29130 29137 29139 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29156 29163 29165 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:finalize_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_rpath'
                                                                        ) (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [29171]
                                                                )
                                                              ]
                                                              spids: [29171]
                                                            )
                                                          ]
                                                          spids: [29168 29169 -1 29179]
                                                        )
                                                      ]
                                                      spids: [29146 29153 29179]
                                                    )
                                                  ]
                                                  spids: [29142 29143 29182 -1]
                                                )
                                              ]
                                              spids: [29119 29127 29185]
                                            )
                                          ]
                                          spids: [-1 28961]
                                        )
                                      ]
                                      spids: [-1 29188]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$alldeplibs'))} 
                                                      {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$deplibs_check_method'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(pass_all)}
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$build_libtool_libs'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(yes)}
                                                                            )
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$library_names'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [29225]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [29210]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [-1 29255]
                                        )
                                      ]
                                      spids: [-1 29265]
                                    )
                                  ]
                                  spids: [-1 28896]
                                )
                              ]
                              spids: [-1 29268]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29272]
                                )
                              ]
                              spids: [29272]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$prefer_static_libs')}
                                  spids: [29279]
                                )
                              ]
                              spids: [29279]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$use_static_libs'))} 
                                              {(Lit_Other '=')} {(built)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_static_libs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [29311]
                                        )
                                      ]
                                      spids: [29311]
                                    )
                                  ]
                                  spids: [-1 29308]
                                )
                              ]
                              spids: [-1 29315]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$use_static_libs'))} {(Lit_Other '=')} {(no)}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [29331]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:notinst_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$notinst_deplibs') (' ') 
                                                        ($ VSub_Name '$lib')
                                                      )
                                                    }
                                                  spids: [29389]
                                                )
                                              ]
                                              spids: [29389]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:need_relink)
                                                  op: Equal
                                                  rhs: {(no)}
                                                  spids: [29397]
                                                )
                                              ]
                                              spids: [29397]
                                            )
                                          ]
                                          spids: [29367 29382 29401 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                                          {(Lit_Other '=')} {(no)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:notinst_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$notinst_deplibs') 
                                                                (' ') ($ VSub_Name '$lib')
                                                              )
                                                            }
                                                          spids: [29424]
                                                        )
                                                      ]
                                                      spids: [29424]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:need_relink)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [29432]
                                                        )
                                                      ]
                                                      spids: [29432]
                                                    )
                                                  ]
                                                  spids: [-1 29421]
                                                )
                                              ]
                                              spids: [-1 29436]
                                            )
                                          ]
                                          spids: [29404 29405 29439 -1]
                                        )
                                      ]
                                      spids: [29360 29364 29442]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [29458]
                                        )
                                      ]
                                      spids: [29458]
                                    )
                                    (ForEach
                                      iter_name: dlpremoduletest
                                      iter_words: [{($ VSub_Name '$dlprefiles')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name '$dlpremoduletest'))} {(Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlopenmodule)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$dlpremoduletest'))}
                                                          spids: [29495]
                                                        )
                                                      ]
                                                      spids: [29495]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 29492]
                                                )
                                              ]
                                              spids: [-1 29504]
                                            )
                                          ]
                                          spids: [29472 29507]
                                        )
                                      spids: [29468 29470]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$dlopenmodule'))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$shouldnotlink'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(Lit_Other '=')} {(link)}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(Lit_Other '=')} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ ('*** Warning: Linking the executable ') 
                                                          ($ VSub_Name '$output') (' against the loadable module')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 29564]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ ('*** Warning: Linking the shared library ') 
                                                      ($ VSub_Name '$output') (' against the loadable module')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [29576 29588]
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** ') ($ VSub_Name '$linklib') 
                                                  (' is not portable!')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 29545]
                                        )
                                      ]
                                      spids: [-1 29600]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$hardcode_into_libs'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29655 29662 29664 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$compile_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29681 29688 29690 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:compile_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$compile_rpath') (' ') ($ VSub_Name '$absdir')
                                                                      )
                                                                    }
                                                                  spids: [29696]
                                                                )
                                                              ]
                                                              spids: [29696]
                                                            )
                                                          ]
                                                          spids: [29693 29694 -1 29704]
                                                        )
                                                      ]
                                                      spids: [29671 29678 29704]
                                                    )
                                                  ]
                                                  spids: [29667 29668 29707 -1]
                                                )
                                              ]
                                              spids: [29644 29652 29710]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29724 29731 29733 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29750 29757 29759 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:finalize_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_rpath'
                                                                        ) (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [29765]
                                                                )
                                                              ]
                                                              spids: [29765]
                                                            )
                                                          ]
                                                          spids: [29762 29763 -1 29773]
                                                        )
                                                      ]
                                                      spids: [29740 29747 29773]
                                                    )
                                                  ]
                                                  spids: [29736 29737 29776 -1]
                                                )
                                              ]
                                              spids: [29713 29721 29779]
                                            )
                                          ]
                                          spids: [-1 29629]
                                        )
                                      ]
                                      spids: [-1 29782]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name '$old_archive_from_expsyms_cmds')
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(set)} {(dummy)} {($ VSub_Name '$library_names')})
                                            (C {(shift)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:realname)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Number '$1'))}
                                                  spids: [29814]
                                                )
                                              ]
                                              spids: [29814]
                                            )
                                            (C {(shift)})
                                            (C {(eval)} 
                                              {
                                                (DQ ('libname=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:soname)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$dlname'))}
                                                          spids: [29851]
                                                        )
                                                      ]
                                                      spids: [29851]
                                                    )
                                                  ]
                                                  spids: [-1 29848]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$soname_spec'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$host')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                                            {(mingw) (Lit_Other '*')}
                                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                                          ]
                                                          action: [
                                                            (C {(func_arith)} 
                                                              {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:major)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_arith_result'
                                                                      )
                                                                    }
                                                                  spids: [29908]
                                                                )
                                                              ]
                                                              spids: [29908]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-) ($ VSub_Name '$major'))}
                                                                  spids: [29912]
                                                                )
                                                              ]
                                                              spids: [29912]
                                                            )
                                                          ]
                                                          spids: [29882 29896 29919 -1]
                                                        )
                                                      ]
                                                      spids: [29875 29879 29922]
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('soname=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [29857 29868]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$realname'))}
                                                      spids: [29938]
                                                    )
                                                  ]
                                                  spids: [29938]
                                                )
                                              ]
                                              spids: [29935 29944]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$soname'))}
                                                  spids: [29952]
                                                )
                                              ]
                                              spids: [29952]
                                            )
                                            (C {(func_basename)} {(DQ ($ VSub_Name '$soroot'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soname)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                                  spids: [29965]
                                                )
                                              ]
                                              spids: [29965]
                                            )
                                            (C {(func_stripname)} {(SQ <lib>)} {(SQ <.dll>)} 
                                              {(DQ ($ VSub_Name '$soname'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib)
                                                  op: Equal
                                                  rhs: 
                                                    {(libimp-) 
                                                      ($ VSub_Name '$func_stripname_result') (.a)
                                                    }
                                                  spids: [29986]
                                                )
                                              ]
                                              spids: [29986]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$soname') (-def)
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [(C {(Lit_Other ':')})]
                                                  spids: [-1 30011]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ('extracting exported symbol list from ') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\`'>
                                                      ) ($ VSub_Name '$soname') ("'")
                                                    )
                                                  }
                                                )
                                                (C {(func_execute_cmds)} 
                                                  {(DQ ($ VSub_Name '$extract_expsyms_cmds'))} {(SQ <'exit $?'>)}
                                                )
                                              ]
                                              spids: [30016 30040]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$newlib')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Sentence
                                                      child: (C {(Lit_Other ':')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  spids: [-1 30061]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ('generating import library for ') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\`'>
                                                      ) ($ VSub_Name '$soname') ("'")
                                                    )
                                                  }
                                                )
                                                (C {(func_execute_cmds)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name '$old_archive_from_expsyms_cmds')
                                                    )
                                                  } {(SQ <'exit $?'>)}
                                                )
                                              ]
                                              spids: [30066 30090]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output_objdir')}
                                                  spids: [30097]
                                                )
                                              ]
                                              spids: [30097]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newlib')}
                                                  spids: [30101]
                                                )
                                              ]
                                              spids: [30101]
                                            )
                                          ]
                                          spids: [-1 29797]
                                        )
                                      ]
                                      spids: [-1 30105]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(relink)}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [30141]
                                                )
                                              ]
                                              spids: [30141]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [30144]
                                                )
                                              ]
                                              spids: [30144]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [30147]
                                                )
                                              ]
                                              spids: [30147]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [30150]
                                                )
                                              ]
                                              spids: [30150]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name '$hardcode_action')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(immediate)} {(unsupported)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$hardcode_direct')
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                                        ($ VSub_Name '$linklib')
                                                                      )
                                                                    }
                                                                  spids: [30185]
                                                                )
                                                              ]
                                                              spids: [30185]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name '$host')}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sco3.2v5.0.) (Lit_Other '[') (024) (Lit_Other ']') (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30210]
                                                                        )
                                                                      ]
                                                                      spids: [30210]
                                                                    )
                                                                  ]
                                                                  spids: [30200 30208 30216 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv4) (Lit_Other '*') (uw2) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30228]
                                                                        )
                                                                      ]
                                                                      spids: [30228]
                                                                    )
                                                                  ]
                                                                  spids: [30219 30226 30234 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv5OpenUNIX) (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv5UnixWare7.) (Lit_Other '[') (01) (Lit_Other ']') (.) (Lit_Other '[') (10) (Lit_Other ']') 
                                                                      (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-unixware7) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30269]
                                                                        )
                                                                      ]
                                                                      spids: [30269]
                                                                    )
                                                                  ]
                                                                  spids: [30237 30267 30275 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          (
/usr/bin/file
                                                                                          )
                                                                                        }
                                                                                        {(-L)}
                                                                                        {
                                                                                          ($ 
VSub_Name '$add'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
30303
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$GREP'
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
': [^:]* bundle'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
30316
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {
                                                                                            (DQ (X) 
                                                                                              ($ 
VSub_Name '$dlopenmodule'
                                                                                              )
                                                                                            )
                                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
'$ECHO'
                                                                                        )
                                                                                      } {(DQ ('*** Warning: lib ') ($ VSub_Name '$linklib') (' is a module, not a shared library'))}
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-z)} {(DQ ($ VSub_Name '$old_library'))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ';'
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("*** And there doesn't seem to be a static archive available"))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ('*** The link will probably fail, sorry'))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
30366
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (Assignment
                                                                                          keyword: 
Assign_None
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (LhsName
                                                                                                  name: 
add
                                                                                                )
                                                                                              op: 
                                                                                                Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$dir'
                                                                                                    ) (/) ($ VSub_Name '$old_library')
                                                                                                  )
                                                                                                }
                                                                                              spids: [
30389
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
30389
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
30386
30397
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 30342]
                                                                                )
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(-n)} {(DQ ($ VSub_Name '$old_library'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
add
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dir'
                                                                                                ) (/) ($ VSub_Name '$old_library')
                                                                                              )
                                                                                            }
                                                                                          spids: [
30414
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [30414]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30400 30411]
                                                                                )
                                                                              ]
                                                                              spids: [-1 30422]
                                                                            )
                                                                          ]
                                                                          spids: [-1 30321]
                                                                        )
                                                                      ]
                                                                      spids: [-1 30425]
                                                                    )
                                                                  ]
                                                                  spids: [30278 30284 -1 30428]
                                                                )
                                                              ]
                                                              spids: [30193 30197 30428]
                                                            )
                                                          ]
                                                          spids: [-1 30182]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name '$host')}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sunos) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: add_shlibpath
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30461]
                                                                        )
                                                                      ]
                                                                      spids: [30461]
                                                                    )
                                                                  ]
                                                                  spids: [30454 30459 30466 -1]
                                                                )
                                                              ]
                                                              spids: [30447 30451 30469]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name '$dir'))}
                                                                  spids: [30472]
                                                                )
                                                              ]
                                                              spids: [30472]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30479]
                                                                )
                                                              ]
                                                              spids: [30479]
                                                            )
                                                          ]
                                                          spids: [30431 30444]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_shlibpath)
                                                                  op: Equal
                                                                  rhs: {(DQ ($ VSub_Name '$dir'))}
                                                                  spids: [30502]
                                                                )
                                                              ]
                                                              spids: [30502]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30508]
                                                                )
                                                              ]
                                                              spids: [30508]
                                                            )
                                                          ]
                                                          spids: [30486 30499]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30518]
                                                            )
                                                          ]
                                                          spids: [30518]
                                                        )
                                                      ]
                                                      spids: [30515 30522]
                                                    )
                                                  ]
                                                  spids: [30161 30166 30525 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(relink)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_direct'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(no)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                                        ($ VSub_Name '$linklib')
                                                                      )
                                                                    }
                                                                  spids: [30561]
                                                                )
                                                              ]
                                                              spids: [30561]
                                                            )
                                                          ]
                                                          spids: [-1 30558]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (-L) ($ VSub_Name '$absdir'))
                                                                    }
                                                                  spids: [30585]
                                                                )
                                                              ]
                                                              spids: [30585]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$inst_prefix_dir'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name '$libdir')}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '[') 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
'\\\\'
                                                                                  >
                                                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: add_dir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$add_dir'
                                                                                        ) (' -L') ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir')
                                                                                      )
                                                                                    }
                                                                                  spids: [30625]
                                                                                )
                                                                              ]
                                                                              spids: [30625]
                                                                            )
                                                                          ]
                                                                          spids: [30617 30622 30634 -1]
                                                                        )
                                                                      ]
                                                                      spids: [30610 30614 30637]
                                                                    )
                                                                  ]
                                                                  spids: [-1 30607]
                                                                )
                                                              ]
                                                              spids: [-1 30640]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30643]
                                                                )
                                                              ]
                                                              spids: [30643]
                                                            )
                                                          ]
                                                          spids: [30569 30582]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_shlibpath)
                                                                  op: Equal
                                                                  rhs: {(DQ ($ VSub_Name '$dir'))}
                                                                  spids: [30666]
                                                                )
                                                              ]
                                                              spids: [30666]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30672]
                                                                )
                                                              ]
                                                              spids: [30672]
                                                            )
                                                          ]
                                                          spids: [30650 30663]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30682]
                                                            )
                                                          ]
                                                          spids: [30682]
                                                        )
                                                      ]
                                                      spids: [30679 30686]
                                                    )
                                                  ]
                                                  spids: [30528 30529 30689 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_linked)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [30695]
                                                        )
                                                      ]
                                                      spids: [30695]
                                                    )
                                                  ]
                                                  spids: [30692 30693 30698 -1]
                                                )
                                              ]
                                              spids: [30154 30158 30701]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$lib_linked'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_fatal_configuration)} 
                                                      {(DQ ('unsupported hardcode properties'))}
                                                    )
                                                  ]
                                                  spids: [-1 30719]
                                                )
                                              ]
                                              spids: [-1 30729]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_shlibpath'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(Lit_Other ':') 
                                                          ($ VSub_Name '$compile_shlibpath') (Lit_Other ':')
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (':') ($ VSub_Name '$add_shlibpath') 
                                                                (':')
                                                              ) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [30756 30763 30765 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: compile_shlibpath
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$compile_shlibpath'
                                                                        ) ($ VSub_Name '$add_shlibpath') (':')
                                                                      )
                                                                    }
                                                                  spids: [30771]
                                                                )
                                                              ]
                                                              spids: [30771]
                                                            )
                                                          ]
                                                          spids: [30768 30769 30778 -1]
                                                        )
                                                      ]
                                                      spids: [30747 30753 30781]
                                                    )
                                                  ]
                                                  spids: [-1 30744]
                                                )
                                              ]
                                              spids: [-1 30784]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(Lit_Other '=')} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_dir'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                    ($ VSub_Name '$compile_deplibs')
                                                                  )
                                                                }
                                                              spids: [30813]
                                                            )
                                                          ]
                                                          spids: [30813]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add') (' ') 
                                                                    ($ VSub_Name '$compile_deplibs')
                                                                  )
                                                                }
                                                              spids: [30831]
                                                            )
                                                          ]
                                                          spids: [30831]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 30800]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add_dir'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [30852]
                                                        )
                                                      ]
                                                      spids: [30852]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [30870]
                                                        )
                                                      ]
                                                      spids: [30870]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$hardcode_direct')
                                                                    )
                                                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_minus_L'
                                                                          )
                                                                        )
                                                                      } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: 
                                                            {(Lit_Other ':') 
                                                              ($ VSub_Name '$finalize_shlibpath') (Lit_Other ':')
                                                            }
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other '*') 
                                                                  (DQ (':') ($ VSub_Name '$libdir') 
                                                                    (':')
                                                                  ) (Lit_Other '*')
                                                                }
                                                              ]
                                                              spids: [30931 30938 30940 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other '*')}]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: finalize_shlibpath
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$finalize_shlibpath'
                                                                            ) ($ VSub_Name '$libdir') (':')
                                                                          )
                                                                        }
                                                                      spids: [30946]
                                                                    )
                                                                  ]
                                                                  spids: [30946]
                                                                )
                                                              ]
                                                              spids: [30943 30944 30953 -1]
                                                            )
                                                          ]
                                                          spids: [30922 30928 30956]
                                                        )
                                                      ]
                                                      spids: [-1 30919]
                                                    )
                                                  ]
                                                  spids: [-1 30959]
                                                )
                                              ]
                                              spids: [30839 30962]
                                            )
                                          ]
                                          spids: [-1 30138]
                                        )
                                      ]
                                      spids: [-1 30965]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                      {(Lit_Other '=')} {(relink)}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [30997]
                                                )
                                              ]
                                              spids: [30997]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [31000]
                                                )
                                              ]
                                              spids: [31000]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [31003]
                                                )
                                              ]
                                              spids: [31003]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$hardcode_direct'))} {(Lit_Other '=')} {(yes)}
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                  )
                                                                )
                                                              } {(Lit_Other '=')} {(no)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$libdir') (/) 
                                                                ($ VSub_Name '$linklib')
                                                              )
                                                            }
                                                          spids: [31039]
                                                        )
                                                      ]
                                                      spids: [31039]
                                                    )
                                                  ]
                                                  spids: [-1 31036]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$hardcode_minus_L'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add_dir)
                                                          op: Equal
                                                          rhs: {(DQ (-L) ($ VSub_Name '$libdir'))}
                                                          spids: [31063]
                                                        )
                                                      ]
                                                      spids: [31063]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                          spids: [31070]
                                                        )
                                                      ]
                                                      spids: [31070]
                                                    )
                                                  ]
                                                  spids: [31047 31060]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$hardcode_shlibpath_var')
                                                            )
                                                          } {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(Lit_Other ':') 
                                                          ($ VSub_Name '$finalize_shlibpath') (Lit_Other ':')
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (':') ($ VSub_Name '$libdir') (':')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [31102 31109 31111 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: finalize_shlibpath
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_shlibpath'
                                                                        ) ($ VSub_Name '$libdir') (':')
                                                                      )
                                                                    }
                                                                  spids: [31117]
                                                                )
                                                              ]
                                                              spids: [31117]
                                                            )
                                                          ]
                                                          spids: [31114 31115 31124 -1]
                                                        )
                                                      ]
                                                      spids: [31093 31099 31127]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                          spids: [31130]
                                                        )
                                                      ]
                                                      spids: [31130]
                                                    )
                                                  ]
                                                  spids: [31077 31090]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$hardcode_automatic'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$inst_prefix_dir'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(test)} {(-f)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$inst_prefix_dir'
                                                                          ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$inst_prefix_dir'
                                                                        ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                      )
                                                                    }
                                                                  spids: [31182]
                                                                )
                                                              ]
                                                              spids: [31182]
                                                            )
                                                          ]
                                                          spids: [-1 31179]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$libdir') (/) 
                                                                    ($ VSub_Name '$linklib')
                                                                  )
                                                                }
                                                              spids: [31194]
                                                            )
                                                          ]
                                                          spids: [31194]
                                                        )
                                                      ]
                                                      spids: [31191 31202]
                                                    )
                                                  ]
                                                  spids: [31137 31150]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(DQ (-L) ($ VSub_Name '$libdir'))}
                                                      spids: [31212]
                                                    )
                                                  ]
                                                  spids: [31212]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$inst_prefix_dir'))}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: {($ VSub_Name '$libdir')}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other '[') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\\\'>
                                                                  ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                }
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:add_dir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name '$add_dir') (' -L') ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir')
                                                                          )
                                                                        }
                                                                      spids: [31252]
                                                                    )
                                                                  ]
                                                                  spids: [31252]
                                                                )
                                                              ]
                                                              spids: [31244 31249 31261 -1]
                                                            )
                                                          ]
                                                          spids: [31237 31241 31264]
                                                        )
                                                      ]
                                                      spids: [-1 31234]
                                                    )
                                                  ]
                                                  spids: [-1 31267]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                      spids: [31270]
                                                    )
                                                  ]
                                                  spids: [31270]
                                                )
                                              ]
                                              spids: [31205 31277]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(Lit_Other '=')} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_dir'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                    ($ VSub_Name '$finalize_deplibs')
                                                                  )
                                                                }
                                                              spids: [31307]
                                                            )
                                                          ]
                                                          spids: [31307]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add') (' ') 
                                                                    ($ VSub_Name '$finalize_deplibs')
                                                                  )
                                                                }
                                                              spids: [31325]
                                                            )
                                                          ]
                                                          spids: [31325]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 31294]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add_dir'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [31346]
                                                        )
                                                      ]
                                                      spids: [31346]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [31364]
                                                        )
                                                      ]
                                                      spids: [31364]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [31333 31372]
                                            )
                                          ]
                                          spids: [-1 30994]
                                        )
                                      ]
                                      spids: [-1 31375]
                                    )
                                  ]
                                  spids: [-1 29357]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} 
                                          {(prog)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$hardcode_direct'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(unsupported)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:linklib)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$old_library'))}
                                                      spids: [31433]
                                                    )
                                                  ]
                                                  spids: [31433]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$linklib') (' ') ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [31439]
                                                )
                                              ]
                                              spids: [31439]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$linklib') (' ') ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [31449]
                                                )
                                              ]
                                              spids: [31449]
                                            )
                                          ]
                                          spids: [-1 31420]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compile_deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ (-l) ($ VSub_Name '$name') (' -L') 
                                                    ($ VSub_Name '$dir') (' ') ($ VSub_Name '$compile_deplibs')
                                                  )
                                                }
                                              spids: [31462]
                                            )
                                          ]
                                          spids: [31462]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:finalize_deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ (-l) ($ VSub_Name '$name') (' -L') 
                                                    ($ VSub_Name '$dir') (' ') ($ VSub_Name '$finalize_deplibs')
                                                  )
                                                }
                                              spids: [31473]
                                            )
                                          ]
                                          spids: [31473]
                                        )
                                      ]
                                      spids: [31459 31484]
                                    )
                                  ]
                                  spids: [31378 31391]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$deplibs_check_method'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(pass_all)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** Warning: This system can not link to static lib archive '
                                                  ) ($ VSub_Name '$lib') (.)
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** I have the capability to make that library automatically link in when'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** shared version of the library, which you do not appear to have.'
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                          {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** But as you try to build a module library, libtool will still create '
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** a static module, that should work as long as the dlopening application'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** is linked with the -dlopen flag to resolve symbols at runtime.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-z)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$global_symbol_pipe'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(echo)})
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** However, this would only work if libtool was able to extract symbol'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** lists from a program, using '
                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("nm' or equivalent, but libtool could")
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** not find such a program.  So, this module is probably useless.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ ('*** ') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\`'>
                                                                  ) ("nm' from GNU binutils and a full rebuild may help.")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [-1 31622]
                                                        )
                                                      ]
                                                      spids: [-1 31660]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$build_old_libs')
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: build_libtool_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(module)}
                                                                  spids: [31679]
                                                                )
                                                              ]
                                                              spids: [31679]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [31683]
                                                                )
                                                              ]
                                                              spids: [31683]
                                                            )
                                                          ]
                                                          spids: [-1 31676]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [31690]
                                                            )
                                                          ]
                                                          spids: [31690]
                                                        )
                                                      ]
                                                      spids: [31687 31694]
                                                    )
                                                  ]
                                                  spids: [-1 31587]
                                                )
                                              ]
                                              spids: [-1 31697]
                                            )
                                          ]
                                          spids: [-1 31521]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$old_library') (' ') ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [31703]
                                            )
                                          ]
                                          spids: [31703]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [31713]
                                            )
                                          ]
                                          spids: [31713]
                                        )
                                      ]
                                      spids: [31700 31717]
                                    )
                                  ]
                                  spids: [31487 31500]
                                )
                              ]
                              spids: [-1 31720]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} 
                                          {(lib)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$dependency_libs'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_into_libs'
                                                                      )
                                                                    )
                                                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$build_old_libs'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$link_static')
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [31756]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [31806]
                                                )
                                              ]
                                              spids: [31806]
                                            )
                                            (ForEach
                                              iter_name: libdir
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$libdir')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-R) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_xrpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_stripname_result'
                                                                      )
                                                                    }
                                                                  spids: [31846]
                                                                )
                                                              ]
                                                              spids: [31846]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$xrpath') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$temp_xrpath') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [31861 31868 31870 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:xrpath)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$xrpath'
                                                                                ) (' ') ($ VSub_Name '$temp_xrpath')
                                                                              )
                                                                            }
                                                                          spids: [31876]
                                                                        )
                                                                      ]
                                                                      spids: [31876]
                                                                    )
                                                                  ]
                                                                  spids: [31873 31874 31882 -1]
                                                                )
                                                              ]
                                                              spids: [31850 31858 31885]
                                                            )
                                                          ]
                                                          spids: [31828 31830 31886 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$temp_deplibs') (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [31892]
                                                                )
                                                              ]
                                                              spids: [31892]
                                                            )
                                                          ]
                                                          spids: [31889 31890 31898 -1]
                                                        )
                                                      ]
                                                      spids: [31821 31825 31901]
                                                    )
                                                  ]
                                                  spids: [31818 31904]
                                                )
                                              spids: [31814 31816]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$temp_deplibs'))}
                                                  spids: [31907]
                                                )
                                              ]
                                              spids: [31907]
                                            )
                                          ]
                                          spids: [-1 31799]
                                        )
                                      ]
                                      spids: [-1 31913]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                ($ VSub_Name '$absdir')
                                              )
                                            }
                                          spids: [31917]
                                        )
                                      ]
                                      spids: [31917]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$link_static'))} 
                                          {(Lit_Other '=')} {(no)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdependency_libs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                    ($ VSub_Name '$laname') (' ') ($ VSub_Name '$newdependency_libs')
                                                  )
                                                }
                                              spids: [31941]
                                            )
                                          ]
                                          spids: [31941]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [31955]
                                        )
                                      ]
                                      spids: [31955]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [31970]
                                                )
                                              ]
                                              spids: [31970]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name '$opt_duplicate_deps')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$specialdeplibs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [32006]
                                                                )
                                                              ]
                                                              spids: [32006]
                                                            )
                                                          ]
                                                          spids: [31997 32004 32013 -1]
                                                        )
                                                      ]
                                                      spids: [31987 31994 32016]
                                                    )
                                                  ]
                                                  spids: [-1 31984]
                                                )
                                              ]
                                              spids: [-1 32019]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [32022]
                                                )
                                              ]
                                              spids: [32022]
                                            )
                                          ]
                                          spids: [31967 32030]
                                        )
                                      spids: [31963 31965]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$link_all_deplibs'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:path)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [32067]
                                                        )
                                                      ]
                                                      spids: [32067]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name '$deplib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-L) (Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:path)
                                                                  op: Equal
                                                                  rhs: {(DQ ($ VSub_Name '$deplib'))}
                                                                  spids: [32081]
                                                                )
                                                              ]
                                                              spids: [32081]
                                                            )
                                                          ]
                                                          spids: [32077 32079 32086 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name '$deplib'))} {(DQ )} {(DQ (.))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_dirname_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [32108]
                                                                )
                                                              ]
                                                              spids: [32108]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name '$dir')}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '[') 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\\\'>
                                                                      ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '[') (A-Za-z) 
                                                                      (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') 
                                                                      (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:absdir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [32144]
                                                                        )
                                                                      ]
                                                                      spids: [32144]
                                                                    )
                                                                  ]
                                                                  spids: [32125 32142 32149 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:absdir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (AndOr
                                                                                        children: [
                                                                                          (C {(cd)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dir'
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(pwd)})
                                                                                        ]
                                                                                        op_id: 
Op_DAmp
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [32157 32167]
                                                                              )
                                                                            }
                                                                          spids: [32156]
                                                                        )
                                                                      ]
                                                                      spids: [32156]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} {(-z)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$absdir'
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_warning)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'cannot determine absolute directory name of '
                                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$dir') ("'")
                                                                                )
                                                                              }
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: absdir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$dir'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [32194]
                                                                                )
                                                                              ]
                                                                              spids: [32194]
                                                                            )
                                                                          ]
                                                                          spids: [-1 32181]
                                                                        )
                                                                      ]
                                                                      spids: [-1 32200]
                                                                    )
                                                                  ]
                                                                  spids: [32152 32153 32203 -1]
                                                                )
                                                              ]
                                                              spids: [32118 32122 32206]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name '$GREP')}
                                                                            {(DQ ('^installed=no'))}
                                                                            {
                                                                              ($ VSub_Name '$deplib')
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_Great
                                                                              fd: -1
                                                                              arg_word: {(/dev/null)}
                                                                              spids: [32219]
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name '$host')}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '*') (-) 
                                                                              (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: depdepl
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [32242]
                                                                                )
                                                                              ]
                                                                              spids: [32242]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
deplibrary_names
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (C 
                                                                                                {
                                                                                                  (${ 
VSub_Name SED
                                                                                                  )
                                                                                                } {(-n)} {(-e)} {(SQ <'s/^library_names=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$deplib')}
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick '`'
                                                                                          >
                                                                                        spids: [
32246
32260
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [32245]
                                                                                )
                                                                              ]
                                                                              spids: [32245]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(-n)} {(DQ ($ VSub_Name '$deplibrary_names'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ForEach
                                                                                      iter_name: tmp
                                                                                      iter_words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$deplibrary_names'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      do_arg_iter: 
False
                                                                                      body: 
                                                                                        (DoGroup
                                                                                          children: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name '$tmp'
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32291
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32291
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
32288
32295
                                                                                          ]
                                                                                        )
                                                                                      spids: [
32283
32286
                                                                                      ]
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-f)} {(DQ ($ VSub_Name '$absdir') (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$depdepl'))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ';'
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$absdir'
                                                                                                        ) (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$depdepl')
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32317
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32317
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
darwin_install_name
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (${ 
VSub_Name OTOOL
                                                                                                                      )
                                                                                                                    } {(-L)} {($ VSub_Name '$depdepl')}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (
awk
                                                                                                                      )
                                                                                                                    } {(SQ <'{if (NR == 2) {print $1;exit}}'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
32328
32344
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32327
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32327
                                                                                              ]
                                                                                            )
                                                                                            (If
                                                                                              arms: [
                                                                                                (if_arm
                                                                                                  cond: [
                                                                                                    (Sentence
                                                                                                      child: 
                                                                                                        (C 
                                                                                                          {
                                                                                                            (
test
                                                                                                            )
                                                                                                          } {(-z)} {(DQ ($ VSub_Name '$darwin_install_name'))}
                                                                                                        )
                                                                                                      terminator: 
                                                                                                        <
Op_Semi ';'
                                                                                                        >
                                                                                                    )
                                                                                                  ]
                                                                                                  action: [
                                                                                                    (Assignment
                                                                                                      keyword: 
Assign_None
                                                                                                      pairs: [
                                                                                                        (assign_pair
                                                                                                          lhs: 
                                                                                                            (LhsName
                                                                                                              name: 
darwin_install_name
                                                                                                            )
                                                                                                          op: 
                                                                                                            Equal
                                                                                                          rhs: 
                                                                                                            {
                                                                                                              (CommandSubPart
                                                                                                                command_list: 
                                                                                                                  (CommandList
                                                                                                                    children: [
                                                                                                                      (Pipeline
                                                                                                                        children: [
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (${ 
VSub_Name OTOOL64
                                                                                                                              )
                                                                                                                            } {(-L)} {($ VSub_Name '$depdepl')}
                                                                                                                          )
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (
awk
                                                                                                                              )
                                                                                                                            } {(SQ <'{if (NR == 2) {print $1;exit}}'>)}
                                                                                                                          )
                                                                                                                        ]
                                                                                                                        negated: 
False
                                                                                                                      )
                                                                                                                    ]
                                                                                                                  )
                                                                                                                left_token: 
                                                                                                                  <
Left_Backtick '`'
                                                                                                                  >
                                                                                                                spids: [
32362
32378
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
32361
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
32361
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
32358
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
-1
32381
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
compiler_flags
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$compiler_flags'
                                                                                                        ) (' ') (${ VSub_Name wl) ('-dylib_file ') (${ VSub_Name wl) (${ VSub_Name darwin_install_name) (':') 
                                                                                                        (${ 
VSub_Name depdepl
                                                                                                        )
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32384
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32384
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
linker_flags
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$linker_flags'
                                                                                                        ) (' -dylib_file ') (${ VSub_Name darwin_install_name) (':') (${ VSub_Name depdepl)
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32405
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32405
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
path
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: {(SQ )}
                                                                                                  spids: [
32419
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32419
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
32314
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
-1
32422
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 32275]
                                                                                )
                                                                              ]
                                                                              spids: [-1 32425]
                                                                            )
                                                                          ]
                                                                          spids: [32234 32239 32428 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other '*')}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: path
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ (-L) 
                                                                                        ($ VSub_Name 
'$absdir'
                                                                                        ) (/) ($ VSub_Name '$objdir')
                                                                                      )
                                                                                    }
                                                                                  spids: [32435]
                                                                                )
                                                                              ]
                                                                              spids: [32435]
                                                                            )
                                                                          ]
                                                                          spids: [32431 32432 32444 -1]
                                                                        )
                                                                      ]
                                                                      spids: [32227 32231 32447]
                                                                    )
                                                                  ]
                                                                  spids: [-1 32224]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libdir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      (${ VSub_Name 
SED
                                                                                      )
                                                                                    } {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$deplib')}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick '`'>
                                                                            spids: [32454 32468]
                                                                          )
                                                                        }
                                                                      spids: [32453]
                                                                    )
                                                                  ]
                                                                  spids: [32453]
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(-z)} 
                                                                      {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\`'
                                                                              >
                                                                          ) ($ VSub_Name '$deplib') ("' is not a valid libtool archive")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$absdir'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_warning)} 
                                                                      {
                                                                        (DQ 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\`'
                                                                              >
                                                                          ) ($ VSub_Name '$deplib') ("' seems to be moved")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:path)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ (-L) 
                                                                            ($ VSub_Name '$absdir')
                                                                          )
                                                                        }
                                                                      spids: [32519]
                                                                    )
                                                                  ]
                                                                  spids: [32519]
                                                                )
                                                              ]
                                                              spids: [32450 32526]
                                                            )
                                                          ]
                                                          spids: [32089 32091 32529 -1]
                                                        )
                                                      ]
                                                      spids: [32070 32074 32532]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$path') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [32546 32553 32555 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$path') (' ') 
                                                                        ($ VSub_Name '$deplibs')
                                                                      )
                                                                    }
                                                                  spids: [32561]
                                                                )
                                                              ]
                                                              spids: [32561]
                                                            )
                                                          ]
                                                          spids: [32558 32559 32568 -1]
                                                        )
                                                      ]
                                                      spids: [32535 32543 32571]
                                                    )
                                                  ]
                                                  spids: [32064 32574]
                                                )
                                              spids: [32060 32062]
                                            )
                                          ]
                                          spids: [-1 32048]
                                        )
                                      ]
                                      spids: [-1 32577]
                                    )
                                  ]
                                  spids: [-1 31740]
                                )
                              ]
                              spids: [-1 32583]
                            )
                          ]
                          spids: [25480 32589]
                        )
                      spids: [25476 25478]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(link)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} 
                                          {(DQ (prog))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_inherited_linker_flags') (' ') 
                                                ($ VSub_Name '$compile_deplibs')
                                              )
                                            }
                                          spids: [32629]
                                        )
                                      ]
                                      spids: [32629]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_inherited_linker_flags') (' ') 
                                                ($ VSub_Name '$finalize_deplibs')
                                              )
                                            }
                                          spids: [32637]
                                        )
                                      ]
                                      spids: [32637]
                                    )
                                  ]
                                  spids: [-1 32626]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:compiler_flags)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$compiler_flags') (' ')) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {
                                                          (DQ (' ') 
                                                            ($ VSub_Name 
'$new_inherited_linker_flags'
                                                            )
                                                          )
                                                        }
                                                      )
                                                      (C {($ VSub_Name '$SED')} 
                                                        {
                                                          (SQ 
                                                            <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                            >
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [32653 32668]
                                          )
                                        }
                                      spids: [32648]
                                    )
                                  ]
                                  spids: [32648]
                                )
                              ]
                              spids: [32645 32671]
                            )
                          ]
                          spids: [-1 32608]
                        )
                      ]
                      spids: [-1 32674]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdependency_libs'))}
                          spids: [32677]
                        )
                      ]
                      spids: [32677]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(dlpreopen)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$save_deplibs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [32715]
                                        )
                                      ]
                                      spids: [32715]
                                    )
                                  ]
                                  spids: [32712 32723]
                                )
                              spids: [32708 32710]
                            )
                          ]
                          spids: [-1 32696]
                        )
                      ]
                      spids: [-1 32726]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(dlopen)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(conv)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32767]
                                        )
                                      ]
                                      spids: [32767]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$newlib_search_path')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$lib_search_path') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [32792 32799 32801 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_search_path)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$lib_search_path') 
                                                                (' ') ($ VSub_Name '$dir')
                                                              )
                                                            }
                                                          spids: [32807]
                                                        )
                                                      ]
                                                      spids: [32807]
                                                    )
                                                  ]
                                                  spids: [32804 32805 32814 -1]
                                                )
                                              ]
                                              spids: [32782 32789 32817]
                                            )
                                          ]
                                          spids: [32779 32820]
                                        )
                                      spids: [32775 32777]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32823]
                                        )
                                      ]
                                      spids: [32823]
                                    )
                                  ]
                                  spids: [-1 32760]
                                )
                              ]
                              spids: [-1 32826]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} 
                                          {
                                            (DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))
                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ('prog,link'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:vars)
                                          op: Equal
                                          rhs: {(DQ (deplibs))}
                                          spids: [32851]
                                        )
                                      ]
                                      spids: [32851]
                                    )
                                  ]
                                  spids: [-1 32848]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(DQ ('compile_deplibs finalize_deplibs'))}
                                      spids: [32860]
                                    )
                                  ]
                                  spids: [32860]
                                )
                              ]
                              spids: [32857 32866]
                            )
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$vars')} {(dependency_libs)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'tmp_libs=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) ($ VSub_Name '$var')
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32894]
                                        )
                                      ]
                                      spids: [32894]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$tmp_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:new_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$new_libs')
                                                              )
                                                            }
                                                          spids: [32944]
                                                        )
                                                      ]
                                                      spids: [32944]
                                                    )
                                                  ]
                                                  spids: [32940 32942 32951 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other '*')}]
                                                  spids: [32954 32956 32958 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {
                                                          (DQ (' ') ($ VSub_Name '$specialdeplibs') 
                                                            (' ')
                                                          )
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:new_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$deplib') 
                                                                        (' ') ($ VSub_Name '$new_libs')
                                                                      )
                                                                    }
                                                                  spids: [33041]
                                                                )
                                                              ]
                                                              spids: [33041]
                                                            )
                                                          ]
                                                          spids: [33032 33039 33048 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$new_libs') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [33066 33073 33075 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: new_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$deplib'
                                                                                ) (' ') ($ VSub_Name '$new_libs')
                                                                              )
                                                                            }
                                                                          spids: [33081]
                                                                        )
                                                                      ]
                                                                      spids: [33081]
                                                                    )
                                                                  ]
                                                                  spids: [33078 33079 33088 -1]
                                                                )
                                                              ]
                                                              spids: [33055 33063 33091]
                                                            )
                                                          ]
                                                          spids: [33051 33052 33094 -1]
                                                        )
                                                      ]
                                                      spids: [33021 33029 33097]
                                                    )
                                                  ]
                                                  spids: [32961 32962 33100 -1]
                                                )
                                              ]
                                              spids: [32933 32937 33103]
                                            )
                                          ]
                                          spids: [32906 33106]
                                        )
                                      spids: [32902 32904]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [33109]
                                        )
                                      ]
                                      spids: [33109]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$new_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [33147 33154 33156 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:tmp_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$tmp_libs') 
                                                                        (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [33162]
                                                                )
                                                              ]
                                                              spids: [33162]
                                                            )
                                                          ]
                                                          spids: [33159 33160 33169 -1]
                                                        )
                                                      ]
                                                      spids: [33136 33144 33172]
                                                    )
                                                  ]
                                                  spids: [33131 33133 33175 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [33181]
                                                        )
                                                      ]
                                                      spids: [33181]
                                                    )
                                                  ]
                                                  spids: [33178 33179 33188 -1]
                                                )
                                              ]
                                              spids: [33124 33128 33191]
                                            )
                                          ]
                                          spids: [33121 33194]
                                        )
                                      spids: [33117 33119]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name '$var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (tmp_libs)
                                      }
                                    )
                                  ]
                                  spids: [32880 33205]
                                )
                              spids: [32874 32878]
                            )
                          ]
                          spids: [-1 32743]
                        )
                      ]
                      spids: [-1 33211]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [33222]
                        )
                      ]
                      spids: [33222]
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$postdeps') 
                                    (' ') ($ VSub_Name '$compiler_lib_search_path') (' ')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$i') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:i)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [33263]
                                        )
                                      ]
                                      spids: [33263]
                                    )
                                  ]
                                  spids: [33253 33260 33268 -1]
                                )
                              ]
                              spids: [33238 33250 33271]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$i'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$tmp_libs') (' ') ($ VSub_Name '$i'))}
                                          spids: [33289]
                                        )
                                      ]
                                      spids: [33289]
                                    )
                                  ]
                                  spids: [-1 33286]
                                )
                              ]
                              spids: [-1 33297]
                            )
                          ]
                          spids: [33235 33300]
                        )
                      spids: [33230 33233]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$tmp_libs')}
                          spids: [33303]
                        )
                      ]
                      spids: [33303]
                    )
                  ]
                  spids: [25098 33307]
                )
              spids: [25094 25096]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(prog)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                          spids: [33329]
                        )
                      ]
                      spids: [33329]
                    )
                  ]
                  spids: [-1 33326]
                )
              ]
              spids: [-1 33335]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(prog)})
                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(lib)})
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                          spids: [33366]
                        )
                      ]
                      spids: [33366]
                    )
                  ]
                  spids: [-1 33363]
                )
              ]
              spids: [-1 33372]
            )
            (Case
              to_match: {($ VSub_Name '$linkmode')}
              arms: [
                (case_arm
                  pat_list: [{(oldlib)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name '$dlself'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-dlopen' is ignored for archives")
                                )
                              }
                            )
                          ]
                          spids: [-1 33412]
                        )
                      ]
                      spids: [-1 33423]
                    )
                    (Case
                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs'))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-l) 
                              (Lit_Other '*')
                            }
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-L) 
                              (Lit_Other '*')
                            }
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-l' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-L' are ignored for archives")
                                )
                              }
                            )
                          ]
                          spids: [33437 33448 33460 -1]
                        )
                      ]
                      spids: [33427 33434 33463]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-rpath' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-R' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-version-info/-version-number' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-release' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ ($ VSub_Name '$export_symbols') ($ VSub_Name '$export_symbols_regex'))
                          }
                        )
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-export-symbols' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:build_libtool_libs)
                          op: Equal
                          rhs: {(no)}
                          spids: [33577]
                        )
                      ]
                      spids: [33577]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$output'))}
                          spids: [33581]
                        )
                      ]
                      spids: [33581]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:objs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                          spids: [33587]
                        )
                      ]
                      spids: [33587]
                    )
                  ]
                  spids: [33383 33384 33594 -1]
                )
                (case_arm
                  pat_list: [{(lib)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$outputname')}
                      arms: [
                        (case_arm
                          pat_list: [{(lib) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <lib>)} {(SQ <.la>)} 
                              {(DQ ($ VSub_Name '$outputname'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [33633]
                                )
                              ]
                              spids: [33633]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('shared_ext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (DQ ('libname=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                          ]
                          spids: [33613 33615 33657 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other '=')} {(no)})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ('libtool library ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$output') ("' must begin with ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ("lib'")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$need_lib_prefix'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_stripname)} {(SQ )} {(SQ <.la>)} 
                                      {(DQ ($ VSub_Name '$outputname'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:name)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [33726]
                                        )
                                      ]
                                      spids: [33726]
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ('shared_ext=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ('libname=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 33705]
                                )
                              ]
                              else_action: [
                                (C {(func_stripname)} {(SQ )} {(SQ <.la>)} 
                                  {(DQ ($ VSub_Name '$outputname'))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libname)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_stripname_result')}
                                      spids: [33767]
                                    )
                                  ]
                                  spids: [33767]
                                )
                              ]
                              spids: [33750 33771]
                            )
                          ]
                          spids: [33660 33661 33774 -1]
                        )
                      ]
                      spids: [33606 33610 33777]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$objs'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$deplibs_check_method'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(pass_all)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ('cannot build libtool library ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$output') ("' from non-libtool objects on this host:") ($ VSub_Name '$objs')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 33809]
                                )
                              ]
                              else_action: [
                                (C {(echo)})
                                (C {($ VSub_Name '$ECHO')} 
                                  {
                                    (DQ ('*** Warning: Linking the shared library ') 
                                      ($ VSub_Name '$output') (' against the non-libtool')
                                    )
                                  }
                                )
                                (C {($ VSub_Name '$ECHO')} 
                                  {(DQ ('*** objects ') ($ VSub_Name '$objs') (' is not portable!'))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$libobjs') (' ') ($ VSub_Name '$objs'))}
                                      spids: [33847]
                                    )
                                  ]
                                  spids: [33847]
                                )
                              ]
                              spids: [33823 33855]
                            )
                          ]
                          spids: [-1 33792]
                        )
                      ]
                      spids: [-1 33858]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$dlself'))} {(KW_Bang '!') (Lit_Other '=')} {(no)})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-dlopen self' is ignored for libtool libraries")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(set)} {(dummy)} {($ VSub_Name '$rpath')})
                    (C {(shift)})
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(1)})
                        (C {(func_warning)} 
                          {
                            (DQ ('ignoring multiple ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ("-rpath's for a libtool library")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_libdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [33920]
                        )
                      ]
                      spids: [33920]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [33927]
                        )
                      ]
                      spids: [33927]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$rpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:oldlibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext') (' ') ($ VSub_Name '$oldlibs')
                                              )
                                            }
                                          spids: [33976]
                                        )
                                      ]
                                      spids: [33976]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [33988]
                                        )
                                      ]
                                      spids: [33988]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [33992]
                                        )
                                      ]
                                      spids: [33992]
                                    )
                                  ]
                                  spids: [-1 33957]
                                )
                              ]
                              spids: [-1 33996]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      (
"-version-info/-version-number' is ignored for convenience libraries"
                                      )
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ("-release' is ignored for convenience libraries")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [-1 33941]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$IFS'))}
                                  spids: [34049]
                                )
                              ]
                              spids: [34049]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(SQ <':'>)}
                              spids: [34055]
                            )
                          ]
                          spids: [34055]
                        )
                        (C {(set)} {(dummy)} {($ VSub_Name '$vinfo')} {(0)} {(0)} {(0)})
                        (C {(shift)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                              spids: [34077]
                            )
                          ]
                          spids: [34077]
                        )
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$7'))})
                            (C {(func_fatal_help)} 
                              {
                                (DQ ('too many parameters to ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-version-info'")
                                )
                              }
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Case
                          to_match: {($ VSub_Name '$vinfo_number')}
                          arms: [
                            (case_arm
                              pat_list: [{(yes)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_major)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$1'))}
                                      spids: [34130]
                                    )
                                  ]
                                  spids: [34130]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$2'))}
                                      spids: [34136]
                                    )
                                  ]
                                  spids: [34136]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$3'))}
                                      spids: [34142]
                                    )
                                  ]
                                  spids: [34142]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(darwin)} {(linux)} {(osf)} {(windows)} {(none)}]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$number_major')} 
                                          {(Lit_Other '+')} {($ VSub_Name '$number_minor')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34204]
                                            )
                                          ]
                                          spids: [34204]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34208]
                                            )
                                          ]
                                          spids: [34208]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_revision'))}
                                              spids: [34214]
                                            )
                                          ]
                                          spids: [34214]
                                        )
                                      ]
                                      spids: [34183 34192 34220 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd-aout)} {(freebsd-elf)} {(qnx)} {(sunos)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_major'))}
                                              spids: [34233]
                                            )
                                          ]
                                          spids: [34233]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34239]
                                            )
                                          ]
                                          spids: [34239]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ (0))}
                                              spids: [34245]
                                            )
                                          ]
                                          spids: [34245]
                                        )
                                      ]
                                      spids: [34223 34230 34251 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(irix)} {(nonstopux)}]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$number_major')} 
                                          {(Lit_Other '+')} {($ VSub_Name '$number_minor')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34269]
                                            )
                                          ]
                                          spids: [34269]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34273]
                                            )
                                          ]
                                          spids: [34273]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34279]
                                            )
                                          ]
                                          spids: [34279]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [34285]
                                            )
                                          ]
                                          spids: [34285]
                                        )
                                      ]
                                      spids: [34254 34257 34289 -1]
                                    )
                                  ]
                                  spids: [34176 34180 34292]
                                )
                              ]
                              spids: [34126 34127 34295 -1]
                            )
                            (case_arm
                              pat_list: [{(no)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:current)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$1'))}
                                      spids: [34302]
                                    )
                                  ]
                                  spids: [34302]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$2'))}
                                      spids: [34308]
                                    )
                                  ]
                                  spids: [34308]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$3'))}
                                      spids: [34314]
                                    )
                                  ]
                                  spids: [34314]
                                )
                              ]
                              spids: [34298 34299 34320 -1]
                            )
                          ]
                          spids: [34119 34123 34323]
                        )
                        (Case
                          to_match: {($ VSub_Name '$current')}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(0)}
                                {(Lit_Other '[') (1-9) (Lit_Other ']')}
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']')
                                }
                              ]
                              spids: [34338 34389 34391 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('CURRENT ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$current') ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [34394 34395 34417 -1]
                            )
                          ]
                          spids: [34331 34335 34420]
                        )
                        (Case
                          to_match: {($ VSub_Name '$revision')}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(0)}
                                {(Lit_Other '[') (1-9) (Lit_Other ']')}
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']')
                                }
                              ]
                              spids: [34431 34482 34484 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('REVISION ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$revision') ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [34487 34488 34510 -1]
                            )
                          ]
                          spids: [34424 34428 34513]
                        )
                        (Case
                          to_match: {($ VSub_Name '$age')}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(0)}
                                {(Lit_Other '[') (1-9) (Lit_Other ']')}
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')
                                }
                                {(Lit_Other '[') (1-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']')
                                }
                              ]
                              spids: [34524 34575 34577 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('AGE ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$age') ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [34580 34581 34603 -1]
                            )
                          ]
                          spids: [34517 34521 34606]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$age'))} {(-gt)} 
                                      {(DQ ($ VSub_Name '$current'))}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('AGE ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$age') ("' is greater than the current interface number ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$current') ("'")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [-1 34625]
                            )
                          ]
                          spids: [-1 34650]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [34658]
                            )
                          ]
                          spids: [34658]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [34661]
                            )
                          ]
                          spids: [34661]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [34664]
                            )
                          ]
                          spids: [34664]
                        )
                        (Case
                          to_match: {($ VSub_Name '$version_type')}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [34674 34675 34677 -1]
                            )
                            (case_arm
                              pat_list: [{(darwin)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [34702]
                                    )
                                  ]
                                  spids: [34702]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34707]
                                    )
                                  ]
                                  spids: [34707]
                                )
                                (C {(func_arith)} {($ VSub_Name '$current')} {(Lit_Other '+')} {(1)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:minor_current)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [34730]
                                    )
                                  ]
                                  spids: [34730]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:xlcverstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (${ VSub_Name wl) ('-compatibility_version ') 
                                            (${ VSub_Name wl) ($ VSub_Name '$minor_current') (' ') (${ VSub_Name wl) ('-current_version ') (${ VSub_Name wl) 
                                            ($ VSub_Name '$minor_current') (.) ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34734]
                                    )
                                  ]
                                  spids: [34734]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ('-compatibility_version ') 
                                            ($ VSub_Name '$minor_current') (' -current_version ') ($ VSub_Name '$minor_current') (.) ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34758]
                                    )
                                  ]
                                  spids: [34758]
                                )
                              ]
                              spids: [34681 34682 34769 -1]
                            )
                            (case_arm
                              pat_list: [{(freebsd-aout)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34777]
                                    )
                                  ]
                                  spids: [34777]
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (.) ($ VSub_Name '$current') (.) 
                                                ($ VSub_Name '$revision')
                                              )
                                            }
                                          spids: [34784]
                                        )
                                      ]
                                      spids: [34784]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [34773 34774 34794 -1]
                            )
                            (case_arm
                              pat_list: [{(freebsd-elf)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34802]
                                    )
                                  ]
                                  spids: [34802]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34809]
                                    )
                                  ]
                                  spids: [34809]
                                )
                              ]
                              spids: [34798 34799 34816 -1]
                            )
                            (case_arm
                              pat_list: [{(irix)} {(nonstopux)}]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$lt_irix_increment'))} 
                                              {(Lit_Other '=')} {(DQ (Xno))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                          {($ VSub_Name '$age')}
                                        )
                                      ]
                                      spids: [-1 34844]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                      {($ VSub_Name '$age')} {(Lit_Other '+')} {(1)}
                                    )
                                  ]
                                  spids: [34856 34872]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [34875]
                                    )
                                  ]
                                  spids: [34875]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(nonstopux)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring_prefix)
                                              op: Equal
                                              rhs: {(nonstopux)}
                                              spids: [34890]
                                            )
                                          ]
                                          spids: [34890]
                                        )
                                      ]
                                      spids: [34887 34888 34893 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring_prefix)
                                              op: Equal
                                              rhs: {(sgi)}
                                              spids: [34899]
                                            )
                                          ]
                                          spids: [34899]
                                        )
                                      ]
                                      spids: [34896 34897 34902 -1]
                                    )
                                  ]
                                  spids: [34880 34884 34905]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$verstring_prefix') ($ VSub_Name '$major') 
                                            (.) ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34908]
                                    )
                                  ]
                                  spids: [34908]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$revision')}
                                      spids: [34922]
                                    )
                                  ]
                                  spids: [34922]
                                )
                                (While
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(DQ ($ VSub_Name '$loop'))} {(-ne)} {(0)})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(func_arith)} {($ VSub_Name '$revision')} {(-)} 
                                          {($ VSub_Name '$loop')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:iface)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34951]
                                            )
                                          ]
                                          spids: [34951]
                                        )
                                        (C {(func_arith)} {($ VSub_Name '$loop')} {(-)} {(1)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:loop)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34964]
                                            )
                                          ]
                                          spids: [34964]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$verstring_prefix') 
                                                    ($ VSub_Name '$major') (.) ($ VSub_Name '$iface') (':') ($ VSub_Name '$verstring')
                                                  )
                                                }
                                              spids: [34968]
                                            )
                                          ]
                                          spids: [34968]
                                        )
                                      ]
                                      spids: [34939 34979]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$major')}
                                      spids: [34987]
                                    )
                                  ]
                                  spids: [34987]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$revision'))}
                                      spids: [34992]
                                    )
                                  ]
                                  spids: [34992]
                                )
                              ]
                              spids: [34820 34825 35000 -1]
                            )
                            (case_arm
                              pat_list: [{(linux)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [35017]
                                    )
                                  ]
                                  spids: [35017]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [35022]
                                    )
                                  ]
                                  spids: [35022]
                                )
                              ]
                              spids: [35004 35005 35032 -1]
                            )
                            (case_arm
                              pat_list: [{(osf)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [35049]
                                    )
                                  ]
                                  spids: [35049]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [35054]
                                    )
                                  ]
                                  spids: [35054]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [35065]
                                    )
                                  ]
                                  spids: [35065]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$age')}
                                      spids: [35080]
                                    )
                                  ]
                                  spids: [35080]
                                )
                                (While
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(DQ ($ VSub_Name '$loop'))} {(-ne)} {(0)})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                          {($ VSub_Name '$loop')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:iface)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [35109]
                                            )
                                          ]
                                          spids: [35109]
                                        )
                                        (C {(func_arith)} {($ VSub_Name '$loop')} {(-)} {(1)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:loop)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [35122]
                                            )
                                          ]
                                          spids: [35122]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$verstring') (':') 
                                                    (${ VSub_Name iface) (.0)
                                                  )
                                                }
                                              spids: [35126]
                                            )
                                          ]
                                          spids: [35126]
                                        )
                                      ]
                                      spids: [35097 35137]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$verstring') (':') (${ VSub_Name current) 
                                            (.0)
                                          )
                                        }
                                      spids: [35145]
                                    )
                                  ]
                                  spids: [35145]
                                )
                              ]
                              spids: [35036 35037 35156 -1]
                            )
                            (case_arm
                              pat_list: [{(qnx)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [35164]
                                    )
                                  ]
                                  spids: [35164]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [35171]
                                    )
                                  ]
                                  spids: [35171]
                                )
                              ]
                              spids: [35160 35161 35178 -1]
                            )
                            (case_arm
                              pat_list: [{(sunos)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [35186]
                                    )
                                  ]
                                  spids: [35186]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision'))
                                        }
                                      spids: [35193]
                                    )
                                  ]
                                  spids: [35193]
                                )
                              ]
                              spids: [35182 35183 35202 -1]
                            )
                            (case_arm
                              pat_list: [{(windows)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [35227]
                                    )
                                  ]
                                  spids: [35227]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (-) ($ VSub_Name '$major'))}
                                      spids: [35231]
                                    )
                                  ]
                                  spids: [35231]
                                )
                              ]
                              spids: [35206 35207 35238 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_fatal_configuration)} 
                                  {
                                    (DQ ('unknown library version type ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$version_type') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [35242 35243 35256 -1]
                            )
                          ]
                          spids: [34667 34671 35259]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$vinfo'))})
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [35291]
                                    )
                                  ]
                                  spids: [35291]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(darwin)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [35313]
                                            )
                                          ]
                                          spids: [35313]
                                        )
                                      ]
                                      spids: [35301 35302 35316 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(DQ (0.0))}
                                              spids: [35323]
                                            )
                                          ]
                                          spids: [35323]
                                        )
                                      ]
                                      spids: [35319 35320 35329 -1]
                                    )
                                  ]
                                  spids: [35294 35298 35332]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name '$need_version'))} 
                                              {(Lit_Other '=')} {(no)}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:versuffix)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [35351]
                                            )
                                          ]
                                          spids: [35351]
                                        )
                                      ]
                                      spids: [-1 35348]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(DQ (.0.0))}
                                          spids: [35357]
                                        )
                                      ]
                                      spids: [35357]
                                    )
                                  ]
                                  spids: [35354 35363]
                                )
                              ]
                              spids: [-1 35288]
                            )
                          ]
                          spids: [-1 35366]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$avoid_version'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name '$need_version'))} 
                                          {(Lit_Other '=')} {(no)}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [35402]
                                    )
                                  ]
                                  spids: [35402]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [35405]
                                    )
                                  ]
                                  spids: [35405]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(DQ )}
                                      spids: [35408]
                                    )
                                  ]
                                  spids: [35408]
                                )
                              ]
                              spids: [-1 35399]
                            )
                          ]
                          spids: [-1 35413]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$allow_undefined'))} 
                                      {(Lit_Other '=')} {(yes)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name '$allow_undefined_flag'))} 
                                              {(Lit_Other '=')} {(unsupported)}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_warning)} 
                                          {
                                            (DQ ('undefined symbols not allowed in ') 
                                              ($ VSub_Name '$host') (' shared libraries')
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_libtool_libs)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [35462]
                                            )
                                          ]
                                          spids: [35462]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_old_libs)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [35466]
                                            )
                                          ]
                                          spids: [35466]
                                        )
                                      ]
                                      spids: [-1 35450]
                                    )
                                  ]
                                  spids: [-1 35470]
                                )
                              ]
                              spids: [-1 35434]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined_flag)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$no_undefined_flag'))}
                                  spids: [35480]
                                )
                              ]
                              spids: [35480]
                            )
                          ]
                          spids: [35473 35486]
                        )
                      ]
                      spids: [34041 35490]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$libname'))} 
                      {(DQ ($ VSub_Name '$libname'))} {(DQ (yes))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobjs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$libobjs') (' ') ($ VSub_Name '$symfileobj'))}
                          spids: [35509]
                        )
                      ]
                      spids: [35509]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} {(Lit_Other '=')} {(DQ ('X '))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [35532]
                            )
                          ]
                          spids: [35532]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(relink)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [35561]
                                )
                              ]
                              spids: [35561]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tempremovelist)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {($ VSub_Name '$ECHO')} 
                                                {(DQ ($ VSub_Name '$output_objdir') ('/*'))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [35565 35572]
                                      )
                                    }
                                  spids: [35564]
                                )
                              ]
                              spids: [35564]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{($ VSub_Name '$tempremovelist')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$p')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                            {(Lit_Other '*') (.gcno)}
                                          ]
                                          spids: [35594 35602 35605 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$outputname')
                                            }
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.) (Lit_Other '*')
                                            }
                                            {($ VSub_Name '$output_objdir') (/) 
                                              (${ VSub_Name libname) (${ VSub_Name release) (.) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (X) 
                                                              ($ VSub_Name '$precious_files_regex')
                                                            )
                                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Pipeline
                                                              children: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {(DQ ($ VSub_Name '$p'))}
                                                                )
                                                                (SimpleCommand
                                                                  words: [
                                                                    {($ VSub_Name '$EGREP')}
                                                                    {(-e)}
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$precious_files_regex'
                                                                        )
                                                                      )
                                                                    }
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [35673]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [35676]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 35680]
                                                        )
                                                      ]
                                                      spids: [-1 35686]
                                                    )
                                                  ]
                                                  spids: [-1 35652]
                                                )
                                              ]
                                              spids: [-1 35689]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:removelist)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$removelist') (' ') 
                                                        ($ VSub_Name '$p')
                                                      )
                                                    }
                                                  spids: [35692]
                                                )
                                              ]
                                              spids: [35692]
                                            )
                                          ]
                                          spids: [35608 35632 35700 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          spids: [35703 35704 35706 -1]
                                        )
                                      ]
                                      spids: [35587 35591 35709]
                                    )
                                  ]
                                  spids: [35584 35712]
                                )
                              spids: [35580 35582]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$removelist'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ (${ VSub_Name RM) ('r ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) (removelist)
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [-1 35550]
                        )
                      ]
                      spids: [-1 35739]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} 
                                      {(yes)}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(convenience)}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldlibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$oldlibs') (' ') ($ VSub_Name '$output_objdir') 
                                        (/) ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                      )
                                    }
                                  spids: [35777]
                                )
                              ]
                              spids: [35777]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$objs') (' ')) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$libobjs'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (DQ (/) 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\.'>
                                                        ) (${ VSub_Name libext) (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [35799 35828]
                                      )
                                    }
                                  spids: [35794]
                                )
                              ]
                              spids: [35794]
                            )
                          ]
                          spids: [-1 35774]
                        )
                      ]
                      spids: [-1 35831]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:temp_xrpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [35878]
                                )
                              ]
                              spids: [35878]
                            )
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name '$xrpath')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:temp_xrpath)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$temp_xrpath') (' -R') 
                                                ($ VSub_Name '$libdir')
                                              )
                                            }
                                          spids: [35893]
                                        )
                                      ]
                                      spids: [35893]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [35911 35918 35920 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [35926]
                                                )
                                              ]
                                              spids: [35926]
                                            )
                                          ]
                                          spids: [35923 35924 35933 -1]
                                        )
                                      ]
                                      spids: [35901 35908 35936]
                                    )
                                  ]
                                  spids: [35890 35939]
                                )
                              spids: [35886 35888]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$hardcode_into_libs'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$temp_xrpath') (' ') 
                                                ($ VSub_Name '$dependency_libs')
                                              )
                                            }
                                          spids: [35971]
                                        )
                                      ]
                                      spids: [35971]
                                    )
                                  ]
                                  spids: [-1 35968]
                                )
                              ]
                              spids: [-1 35979]
                            )
                          ]
                          spids: [-1 35871]
                        )
                      ]
                      spids: [-1 35982]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dlfiles'))}
                          spids: [35990]
                        )
                      ]
                      spids: [35990]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [35996]
                        )
                      ]
                      spids: [35996]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlfiles')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$dlprefiles') (' ') ($ VSub_Name '$dlfiles') 
                                    (' ')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [36024 36031 36033 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlfiles') (' ') ($ VSub_Name '$lib'))
                                            }
                                          spids: [36039]
                                        )
                                      ]
                                      spids: [36039]
                                    )
                                  ]
                                  spids: [36036 36037 36046 -1]
                                )
                              ]
                              spids: [36011 36021 36049]
                            )
                          ]
                          spids: [36008 36052]
                        )
                      spids: [36004 36006]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                          spids: [36060]
                        )
                      ]
                      spids: [36060]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [36066]
                        )
                      ]
                      spids: [36066]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlprefiles')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$dlprefiles') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [36091 36098 36100 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlprefiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                ($ VSub_Name '$lib')
                                              )
                                            }
                                          spids: [36106]
                                        )
                                      ]
                                      spids: [36106]
                                    )
                                  ]
                                  spids: [36103 36104 36113 -1]
                                )
                              ]
                              spids: [36081 36088 36116]
                            )
                          ]
                          spids: [36078 36119]
                        )
                      spids: [36074 36076]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-beos) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-haiku) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36160 36211 36218 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) 
                                              (Lit_Other '[') (012) (Lit_Other ']')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplibs') 
                                                        (' System.ltframework')
                                                      )
                                                    }
                                                  spids: [36243]
                                                )
                                              ]
                                              spids: [36243]
                                            )
                                          ]
                                          spids: [36221 36236 36250 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-netbsd) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36253 36258 36265 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36268 36289 36296 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36299 36312 36319 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv4.2uw2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-unixware) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-OpenUNIX) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36322 36351 36358 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$build_libtool_need_lc')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ (yes))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$deplibs') (' -lc'))}
                                                          spids: [36387]
                                                        )
                                                      ]
                                                      spids: [36387]
                                                    )
                                                  ]
                                                  spids: [-1 36384]
                                                )
                                              ]
                                              spids: [-1 36394]
                                            )
                                          ]
                                          spids: [36361 36362 36397 -1]
                                        )
                                      ]
                                      spids: [36153 36157 36400]
                                    )
                                  ]
                                  spids: [-1 36150]
                                )
                              ]
                              spids: [-1 36403]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name')}
                                  spids: [36411]
                                )
                              ]
                              spids: [36411]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname')}
                                  spids: [36415]
                                )
                              ]
                              spids: [36415]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release')}
                                  spids: [36419]
                                )
                              ]
                              spids: [36419]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix')}
                                  spids: [36423]
                                )
                              ]
                              spids: [36423]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major')}
                                  spids: [36427]
                                )
                              ]
                              spids: [36427]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36443]
                                )
                              ]
                              spids: [36443]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36448]
                                )
                              ]
                              spids: [36448]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36453]
                                )
                              ]
                              spids: [36453]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36458]
                                )
                              ]
                              spids: [36458]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [36461]
                                )
                              ]
                              spids: [36461]
                            )
                            (Case
                              to_match: {($ VSub_Name '$deplibs_check_method')}
                              arms: [
                                (case_arm
                                  pat_list: [{(pass_all)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: {($ VSub_Name '$deplibs')}
                                          spids: [36496]
                                        )
                                      ]
                                      spids: [36496]
                                    )
                                  ]
                                  spids: [36472 36473 36500 -1]
                                )
                                (case_arm
                                  pat_list: [{(test_compile)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest.c)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(conftest.c)}
                                          spids: [36534]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: {(DQ ('\t  int main() { return 0; }\n'))}
                                          do_expansion: True
                                          here_end: EOF
                                          was_filled: True
                                          spids: [36538]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {($ VSub_Name '$LTCC')} {($ VSub_Name '$LTCFLAGS')} 
                                                  {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name '$deplibs')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:ldd_output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [(C {(ldd)} {(conftest)})]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [36572 36576]
                                                      )
                                                    }
                                                  spids: [36571]
                                                )
                                              ]
                                              spids: [36571]
                                            )
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name '$deplibs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$i')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-l) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(-l)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$i'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_stripname_result'
                                                                      )
                                                                    }
                                                                  spids: [36615]
                                                                )
                                                              ]
                                                              spids: [36615]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ (X) 
                                                                              ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                              )
                                                                            )
                                                                          } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          (DQ (' ') 
                                                                            ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$postdeps') (' ')
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '*') 
                                                                              (DQ (' ') 
                                                                                ($ VSub_Name '$i') (' ')
                                                                              ) (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
newdeplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$newdeplibs'
                                                                                        ) (' ') ($ VSub_Name '$i')
                                                                                      )
                                                                                    }
                                                                                  spids: [36662]
                                                                                )
                                                                              ]
                                                                              spids: [36662]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(DQ )}
                                                                                  spids: [36670]
                                                                                )
                                                                              ]
                                                                              spids: [36670]
                                                                            )
                                                                          ]
                                                                          spids: [36652 36659 36675 -1]
                                                                        )
                                                                      ]
                                                                      spids: [36639 36649 36678]
                                                                    )
                                                                  ]
                                                                  spids: [-1 36636]
                                                                )
                                                              ]
                                                              spids: [-1 36681]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {(DQ ($ VSub_Name '$i'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (DQ ('libname=') 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\"'
                                                                              >
                                                                          ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(eval)} 
                                                                      {
                                                                        (DQ ('deplib_matches=') 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\"'
                                                                              >
                                                                          ) ($ VSub_Name '$library_names_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                        )
                                                                      }
                                                                    )
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(set)} {(dummy)} 
                                                                          {
                                                                            ($ VSub_Name 
'$deplib_matches'
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                    (C {(shift)})
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: deplib_match
                                                                            )
                                                                          op: Equal
                                                                          rhs: {($ VSub_Number '$1')}
                                                                          spids: [36729]
                                                                        )
                                                                      ]
                                                                      spids: [36729]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (CommandSubPart
                                                                                      command_list: 
                                                                                        (CommandList
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
expr
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name '$ldd_output'))} {(Lit_Other ':')} {(DQ ('.*') ($ VSub_Name '$deplib_match'))}
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                      left_token: 
                                                                                        <
Left_Backtick '`'
                                                                                        >
                                                                                      spids: [
36737
36750
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
newdeplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$newdeplibs'
                                                                                        ) (' ') ($ VSub_Name '$i')
                                                                                      )
                                                                                    }
                                                                                  spids: [36761]
                                                                                )
                                                                              ]
                                                                              spids: [36761]
                                                                            )
                                                                          ]
                                                                          spids: [-1 36758]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [36772]
                                                                            )
                                                                          ]
                                                                          spids: [36772]
                                                                        )
                                                                        (C {(echo)})
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** Warning: dynamic linker does not accept needed library '
                                                                              ) ($ VSub_Name '$i') (.)
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** I have the capability to make that library automatically link in when'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** you link to this library.  But I can only do this if you have a'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** shared version of the library, which I believe you do not have'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** because a test_compile did reveal that the linker did not use it for'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** its dynamic dependency list that programs get resolved with at runtime.'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [36769 36823]
                                                                    )
                                                                  ]
                                                                  spids: [-1 36696]
                                                                )
                                                              ]
                                                              spids: [-1 36826]
                                                            )
                                                          ]
                                                          spids: [36598 36600 36829 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$newdeplibs') 
                                                                        (' ') ($ VSub_Name '$i')
                                                                      )
                                                                    }
                                                                  spids: [36836]
                                                                )
                                                              ]
                                                              spids: [36836]
                                                            )
                                                          ]
                                                          spids: [36832 36833 36844 -1]
                                                        )
                                                      ]
                                                      spids: [36591 36595 36847]
                                                    )
                                                  ]
                                                  spids: [36588 36850]
                                                )
                                              spids: [36584 36586]
                                            )
                                          ]
                                          spids: [-1 36568]
                                        )
                                      ]
                                      else_action: [
                                        (ForEach
                                          iter_name: i
                                          iter_words: [{($ VSub_Name '$deplibs')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$i')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(-l) (Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_stripname)} {(-l)} {(SQ )} 
                                                          {(DQ ($ VSub_Name '$i'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:name)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  ($ VSub_Name 
'$func_stripname_result'
                                                                  )
                                                                }
                                                              spids: [36900]
                                                            )
                                                          ]
                                                          spids: [36900]
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {($ VSub_Name '$opt_dry_run')})
                                                            (C {($ VSub_Name '$RM')} {(conftest)})
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {($ VSub_Name '$LTCC')} 
                                                                      {($ VSub_Name '$LTCFLAGS')} {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name '$i')}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:ldd_output)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(ldd)} 
                                                                                    {(conftest)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick '`'>
                                                                            spids: [36932 36936]
                                                                          )
                                                                        }
                                                                      spids: [36931]
                                                                    )
                                                                  ]
                                                                  spids: [36931]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ (X) 
                                                                                  ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (Case
                                                                          to_match: 
                                                                            {
                                                                              (DQ (' ') 
                                                                                ($ VSub_Name 
'$predeps'
                                                                                ) (' ') ($ VSub_Name '$postdeps') (' ')
                                                                              )
                                                                            }
                                                                          arms: [
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(Lit_Other '*') 
                                                                                  (DQ (' ') 
                                                                                    ($ VSub_Name '$i') (' ')
                                                                                  ) (Lit_Other '*')
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdeplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$newdeplibs'
                                                                                            ) (' ') ($ VSub_Name '$i')
                                                                                          )
                                                                                        }
                                                                                      spids: [36982]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36982]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: i
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(DQ )}
                                                                                      spids: [36990]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36990]
                                                                                )
                                                                              ]
                                                                              spids: [
36972
36979
36995
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [36959 36969 36998]
                                                                        )
                                                                      ]
                                                                      spids: [-1 36956]
                                                                    )
                                                                  ]
                                                                  spids: [-1 37001]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name '$i')
                                                                                )
                                                                              }
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ ('libname=') 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
'\\"'
                                                                                  >
                                                                              ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ ('deplib_matches=') 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
'\\"'
                                                                                  >
                                                                              ) ($ VSub_Name '$library_names_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                            )
                                                                          }
                                                                        )
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(set)} {(dummy)} 
                                                                              {
                                                                                ($ VSub_Name 
'$deplib_matches'
                                                                                )
                                                                              }
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                        (C {(shift)})
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: deplib_match
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Number '$1')
                                                                                }
                                                                              spids: [37049]
                                                                            )
                                                                          ]
                                                                          spids: [37049]
                                                                        )
                                                                        (If
                                                                          arms: [
                                                                            (if_arm
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (CommandSubPart
                                                                                          command_list: 
                                                                                            (CommandList
                                                                                              children: [
                                                                                                (C 
                                                                                                  {
                                                                                                    (
expr
                                                                                                    )
                                                                                                  } {(DQ ($ VSub_Name '$ldd_output'))} {(Lit_Other ':')} {(DQ ('.*') ($ VSub_Name '$deplib_match'))}
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          left_token: 
                                                                                            <
Left_Backtick '`'
                                                                                            >
                                                                                          spids: [
37057
37070
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdeplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$newdeplibs'
                                                                                            ) (' ') ($ VSub_Name '$i')
                                                                                          )
                                                                                        }
                                                                                      spids: [37081]
                                                                                    )
                                                                                  ]
                                                                                  spids: [37081]
                                                                                )
                                                                              ]
                                                                              spids: [-1 37078]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [37092]
                                                                                )
                                                                              ]
                                                                              spids: [37092]
                                                                            )
                                                                            (C {(echo)})
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** Warning: dynamic linker does not accept needed library '
                                                                                  ) ($ VSub_Name '$i') (.)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** because a test_compile did reveal that the linker did not use this one'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** as a dynamic dependency that programs can get resolved with at runtime.'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [37089 37143]
                                                                        )
                                                                      ]
                                                                      spids: [-1 37016]
                                                                    )
                                                                  ]
                                                                  spids: [-1 37146]
                                                                )
                                                              ]
                                                              spids: [-1 36928]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [37152]
                                                                )
                                                              ]
                                                              spids: [37152]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ ('*** Warning!  Library ') 
                                                                  ($ VSub_Name '$i') (' is needed by this library but I was not able to')
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** make it link in!  You will probably need to install it or some'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** library that it depends on before this library will be fully'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** functional.  Installing it before continuing would be even better.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [37149 37189]
                                                        )
                                                      ]
                                                      spids: [36883 36885 37192 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:newdeplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$newdeplibs') 
                                                                    (' ') ($ VSub_Name '$i')
                                                                  )
                                                                }
                                                              spids: [37199]
                                                            )
                                                          ]
                                                          spids: [37199]
                                                        )
                                                      ]
                                                      spids: [37195 37196 37207 -1]
                                                    )
                                                  ]
                                                  spids: [36876 36880 37210]
                                                )
                                              ]
                                              spids: [36873 37213]
                                            )
                                          spids: [36869 36871]
                                        )
                                      ]
                                      spids: [36853 37216]
                                    )
                                  ]
                                  spids: [36503 36504 37219 -1]
                                )
                                (case_arm
                                  pat_list: [{(file_magic) (Lit_Other '*')}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name '$deplibs_check_method')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file_magic_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name '$deplibs_check_method'))} {(Lit_Other ':')} 
                                                        {
                                                          (DQ ($ VSub_Number '$1') (' ') 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar '\\('>
                                                            ) ('.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37238 37254]
                                              )
                                            }
                                          spids: [37237]
                                        )
                                      ]
                                      spids: [37237]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$a_deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$a_deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$func_stripname_result')}
                                                          spids: [37293]
                                                        )
                                                      ]
                                                      spids: [37293]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ (X) 
                                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$predeps') 
                                                                    (' ') ($ VSub_Name '$postdeps') (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$a_deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: newdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$newdeplibs'
                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                              )
                                                                            }
                                                                          spids: [37340]
                                                                        )
                                                                      ]
                                                                      spids: [37340]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [37348]
                                                                        )
                                                                      ]
                                                                      spids: [37348]
                                                                    )
                                                                  ]
                                                                  spids: [37330 37337 37353 -1]
                                                                )
                                                              ]
                                                              spids: [37317 37327 37356]
                                                            )
                                                          ]
                                                          spids: [-1 37314]
                                                        )
                                                      ]
                                                      spids: [-1 37359]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ('libname=') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
37415
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [37404 37417]
                                                                              )
                                                                            }
                                                                          spids: [37403]
                                                                        )
                                                                      ]
                                                                      spids: [37403]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
ls
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-lLd
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$potent_lib'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37446
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$GREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
' -> '
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37458
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 37462]
                                                                                )
                                                                              ]
                                                                              spids: [-1 37468]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$potent_lib'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [37491]
                                                                                )
                                                                              ]
                                                                              spids: [37491]
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(test)}
                                                                                        {(-h)}
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$potlib'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
37507
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
potliblink
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (Pipeline
                                                                                                        children: [
                                                                                                          (C 
                                                                                                            {
                                                                                                              (
ls
                                                                                                              )
                                                                                                            } {(-ld)} {($ VSub_Name '$potlib')}
                                                                                                          )
                                                                                                          (C 
                                                                                                            {
                                                                                                              (${ 
VSub_Name SED
                                                                                                              )
                                                                                                            } {(SQ <'s/.* -> //'>)}
                                                                                                          )
                                                                                                        ]
                                                                                                        negated: 
False
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick '`'
                                                                                                  >
                                                                                                spids: [
37515
37531
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
37514
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37514]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name '$potliblink'
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other '['
                                                                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                                                            }
                                                                                            {
                                                                                              (
Lit_Other '['
                                                                                              ) (A-Za-z) (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') 
                                                                                              (EscapedLiteralPart
                                                                                                token: 
                                                                                                  <
Lit_EscapedChar '\\\\'
                                                                                                  >
                                                                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$potliblink'
                                                                                                        )
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37560
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
37560
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
37541
37558
37564
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other '*'
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$ECHO'
                                                                                                                      )
                                                                                                                    } {(DQ ($ VSub_Name '$potlib'))}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$SED'
                                                                                                                      )
                                                                                                                    } {(SQ <'s,[^/]*$,,'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
37571
37585
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name '$potliblink'))
                                                                                                    }
                                                                                                  spids: [
37570
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
37570
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
37567
37568
37589
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
37534
37538
37592
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [37511 37595]
                                                                                )
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_cmd'
                                                                                                    ) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\$'
                                                                                                        >
                                                                                                    ) (potlib) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37611
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37632
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdeplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$newdeplibs'
                                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                                              )
                                                                                            }
                                                                                          spids: [
37640
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37640]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
37648
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37648]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 37637]
                                                                                )
                                                                              ]
                                                                              spids: [-1 37658]
                                                                            )
                                                                          ]
                                                                          spids: [37429 37661]
                                                                        )
                                                                      spids: [37425 37427]
                                                                    )
                                                                  ]
                                                                  spids: [37400 37664]
                                                                )
                                                              spids: [37392 37398]
                                                            )
                                                          ]
                                                          spids: [-1 37374]
                                                        )
                                                      ]
                                                      spids: [-1 37667]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [37685]
                                                                )
                                                              ]
                                                              spids: [37685]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for file magic test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 37741]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {
                                                                    (DQ ('*** with ') 
                                                                      ($ VSub_Name '$libname') (' and none of the candidates passed a file format test')
                                                                    )
                                                                  }
                                                                )
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {
                                                                    (DQ 
                                                                      (
'*** using a file magic. Last file checked: '
                                                                      ) ($ VSub_Name '$potlib')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [37753 37773]
                                                            )
                                                          ]
                                                          spids: [-1 37682]
                                                        )
                                                      ]
                                                      spids: [-1 37776]
                                                    )
                                                  ]
                                                  spids: [37276 37278 37779 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdeplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newdeplibs') (' ') 
                                                                ($ VSub_Name '$a_deplib')
                                                              )
                                                            }
                                                          spids: [37790]
                                                        )
                                                      ]
                                                      spids: [37790]
                                                    )
                                                  ]
                                                  spids: [37782 37783 37798 -1]
                                                )
                                              ]
                                              spids: [37269 37273 37801]
                                            )
                                          ]
                                          spids: [37266 37804]
                                        )
                                      spids: [37262 37264]
                                    )
                                  ]
                                  spids: [37222 37224 37810 -1]
                                )
                                (case_arm
                                  pat_list: [{(match_pattern) (Lit_Other '*')}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name '$deplibs_check_method')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:match_pattern_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name '$deplibs_check_method'))} {(Lit_Other ':')} 
                                                        {
                                                          (DQ ($ VSub_Number '$1') (' ') 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar '\\('>
                                                            ) ('.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37829 37845]
                                              )
                                            }
                                          spids: [37828]
                                        )
                                      ]
                                      spids: [37828]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$a_deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$a_deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$func_stripname_result')}
                                                          spids: [37884]
                                                        )
                                                      ]
                                                      spids: [37884]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ (X) 
                                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$predeps') 
                                                                    (' ') ($ VSub_Name '$postdeps') (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$a_deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: newdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$newdeplibs'
                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                              )
                                                                            }
                                                                          spids: [37931]
                                                                        )
                                                                      ]
                                                                      spids: [37931]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [37939]
                                                                        )
                                                                      ]
                                                                      spids: [37939]
                                                                    )
                                                                  ]
                                                                  spids: [37921 37928 37944 -1]
                                                                )
                                                              ]
                                                              spids: [37908 37918 37947]
                                                            )
                                                          ]
                                                          spids: [-1 37905]
                                                        )
                                                      ]
                                                      spids: [-1 37950]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ('libname=') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
38006
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [37995 38008]
                                                                              )
                                                                            }
                                                                          spids: [37994]
                                                                        )
                                                                      ]
                                                                      spids: [37994]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$potent_lib'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [38023]
                                                                                )
                                                                              ]
                                                                              spids: [38023]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\$'
                                                                                                        >
                                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$potent_lib') 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\"'
                                                                                                        >
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
38044
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$match_pattern_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
38063
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdeplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$newdeplibs'
                                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                                              )
                                                                                            }
                                                                                          spids: [
38071
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [38071]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
38079
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [38079]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 38068]
                                                                                )
                                                                              ]
                                                                              spids: [-1 38089]
                                                                            )
                                                                          ]
                                                                          spids: [38020 38092]
                                                                        )
                                                                      spids: [38016 38018]
                                                                    )
                                                                  ]
                                                                  spids: [37991 38095]
                                                                )
                                                              spids: [37983 37989]
                                                            )
                                                          ]
                                                          spids: [-1 37965]
                                                        )
                                                      ]
                                                      spids: [-1 38098]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [38116]
                                                                )
                                                              ]
                                                              spids: [38116]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for regex pattern test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 38172]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {
                                                                    (DQ ('*** with ') 
                                                                      ($ VSub_Name '$libname') (' and none of the candidates passed a file format test')
                                                                    )
                                                                  }
                                                                )
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {
                                                                    (DQ 
                                                                      (
'*** using a regex pattern. Last file checked: '
                                                                      ) ($ VSub_Name '$potlib')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [38184 38204]
                                                            )
                                                          ]
                                                          spids: [-1 38113]
                                                        )
                                                      ]
                                                      spids: [-1 38207]
                                                    )
                                                  ]
                                                  spids: [37867 37869 38210 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdeplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newdeplibs') (' ') 
                                                                ($ VSub_Name '$a_deplib')
                                                              )
                                                            }
                                                          spids: [38221]
                                                        )
                                                      ]
                                                      spids: [38221]
                                                    )
                                                  ]
                                                  spids: [38213 38214 38229 -1]
                                                )
                                              ]
                                              spids: [37860 37864 38232]
                                            )
                                          ]
                                          spids: [37857 38235]
                                        )
                                      spids: [37853 37855]
                                    )
                                  ]
                                  spids: [37813 37815 38241 -1]
                                )
                                (case_arm
                                  pat_list: [{(none)} {(unknown)} {(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [38256]
                                        )
                                      ]
                                      spids: [38256]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ (' ') ($ VSub_Name '$deplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s/ -lc$//; s/ -[LR][^ ]*//g'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [38262 38277]
                                              )
                                            }
                                          spids: [38261]
                                        )
                                      ]
                                      spids: [38261]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ (X) 
                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                      )
                                                    )
                                                  } {(Lit_Other '=')} {(DQ (Xyes))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: i
                                              iter_words: [
                                                {($ VSub_Name '$predeps')}
                                                {($ VSub_Name '$postdeps')}
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {($ VSub_Name '$ECHO')} 
                                                                            {
                                                                              (DQ (' ') 
                                                                                ($ VSub_Name 
'$tmp_deplibs'
                                                                                )
                                                                              )
                                                                            }
                                                                          )
                                                                          (C {($ VSub_Name '$SED')} 
                                                                            {
                                                                              (DQ ('s,') 
                                                                                ($ VSub_Name '$i') (',,')
                                                                              )
                                                                            }
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [38320 38337]
                                                              )
                                                            }
                                                          spids: [38319]
                                                        )
                                                      ]
                                                      spids: [38319]
                                                    )
                                                  ]
                                                  spids: [38312 38340]
                                                )
                                              spids: [38305 38310]
                                            )
                                          ]
                                          spids: [-1 38297]
                                        )
                                      ]
                                      spids: [-1 38343]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$tmp_deplibs')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\\t'>
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other ']') (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (X) 
                                                              ($ VSub_Name '$deplibs_check_method')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ (Xnone))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** Warning: inter-library dependencies are not supported in this platform.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 38382]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Warning: inter-library dependencies are not known to be supported.'
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38392 38402]
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** All declared inter-library dependencies are being dropped.'
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:droppeddeps)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [38412]
                                                )
                                              ]
                                              spids: [38412]
                                            )
                                          ]
                                          spids: [38353 38360 38416 -1]
                                        )
                                      ]
                                      spids: [38346 38350 38419]
                                    )
                                  ]
                                  spids: [38244 38253 38422 -1]
                                )
                              ]
                              spids: [36465 36469 38425]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix_save')}
                                  spids: [38428]
                                )
                              ]
                              spids: [38428]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major_save')}
                                  spids: [38432]
                                )
                              ]
                              spids: [38432]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release_save')}
                                  spids: [38436]
                                )
                              ]
                              spids: [38436]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname_save')}
                                  spids: [38440]
                                )
                              ]
                              spids: [38440]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name_save')}
                                  spids: [38444]
                                )
                              ]
                              spids: [38444]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) (Lit_Other '[') 
                                      (012) (Lit_Other ']')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ (' ') ($ VSub_Name '$newdeplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s/ -lc / System.ltframework /'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [38479 38494]
                                              )
                                            }
                                          spids: [38478]
                                        )
                                      ]
                                      spids: [38478]
                                    )
                                  ]
                                  spids: [38456 38471 38497 -1]
                                )
                              ]
                              spids: [38449 38453 38500]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$droppeddeps'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** Warning: libtool could not satisfy all declared inter-library'
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** dependencies of module ') 
                                                  ($ VSub_Name '$libname') ('.  Therefore, libtool will create')
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** a static module, that should work as long as the dlopening'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** application is linked with the -dlopen flag.'
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$global_symbol_pipe'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)})
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** However, this would only work if libtool was able to extract symbol'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ ('*** lists from a program, using ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ("nm' or equivalent, but libtool could")
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** not find such a program.  So, this module is probably useless.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ ('*** ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ("nm' from GNU binutils and a full rebuild may help.")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 38580]
                                                )
                                              ]
                                              spids: [-1 38618]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(no)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:oldlibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                                ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                                              )
                                                            }
                                                          spids: [38637]
                                                        )
                                                      ]
                                                      spids: [38637]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [38647]
                                                        )
                                                      ]
                                                      spids: [38647]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [38651]
                                                        )
                                                      ]
                                                      spids: [38651]
                                                    )
                                                  ]
                                                  spids: [-1 38634]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [38658]
                                                    )
                                                  ]
                                                  spids: [38658]
                                                )
                                              ]
                                              spids: [38655 38662]
                                            )
                                          ]
                                          spids: [-1 38533]
                                        )
                                      ]
                                      else_action: [
                                        (C {(echo)} 
                                          {
                                            (DQ 
                                              (
'*** The inter-library dependencies that have been dropped here will be'
                                              )
                                            )
                                          }
                                        )
                                        (C {(echo)} 
                                          {
                                            (DQ 
                                              (
'*** automatically added whenever a program is linked with this library'
                                              )
                                            )
                                          }
                                        )
                                        (C {(echo)} {(DQ ('*** or is declared to -dlopen it.'))})
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$allow_undefined'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(echo)})
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Since this library must not contain undefined symbols,'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** because either the platform does not support them or'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** it was explicitly requested with -no-undefined,'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** libtool will only create a static version of it.'
                                                      )
                                                    )
                                                  }
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(no)}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:oldlibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$output_objdir') 
                                                                    (/) ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                                                  )
                                                                }
                                                              spids: [38753]
                                                            )
                                                          ]
                                                          spids: [38753]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [38763]
                                                            )
                                                          ]
                                                          spids: [38763]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [38767]
                                                            )
                                                          ]
                                                          spids: [38767]
                                                        )
                                                      ]
                                                      spids: [-1 38750]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [38774]
                                                        )
                                                      ]
                                                      spids: [38774]
                                                    )
                                                  ]
                                                  spids: [38771 38778]
                                                )
                                              ]
                                              spids: [-1 38703]
                                            )
                                          ]
                                          spids: [-1 38781]
                                        )
                                      ]
                                      spids: [38665 38784]
                                    )
                                  ]
                                  spids: [-1 38517]
                                )
                              ]
                              spids: [-1 38787]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$newdeplibs')}
                                  spids: [38794]
                                )
                              ]
                              spids: [38794]
                            )
                          ]
                          spids: [-1 36136]
                        )
                      ]
                      spids: [-1 38798]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$newdeplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38821 38836]
                                      )
                                    }
                                  spids: [38820]
                                )
                              ]
                              spids: [38820]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:new_inherited_linker_flags)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {
                                                      (DQ (' ') 
                                                        ($ VSub_Name '$new_inherited_linker_flags')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38840 38855]
                                      )
                                    }
                                  spids: [38839]
                                )
                              ]
                              spids: [38839]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38859 38874]
                                      )
                                    }
                                  spids: [38858]
                                )
                              ]
                              spids: [38858]
                            )
                          ]
                          spids: [38812 38817 38877 -1]
                        )
                      ]
                      spids: [38805 38809 38880]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [38892]
                        )
                      ]
                      spids: [38892]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (DQ (' -L') ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir') (' ')) (Lit_Other '*')
                                    }
                                  ]
                                  spids: [38918 38927 38929 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                ($ VSub_Name '$objdir') (' ')
                                              ) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' -L') 
                                                        ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir')
                                                      )
                                                    }
                                                  spids: [38959]
                                                )
                                              ]
                                              spids: [38959]
                                            )
                                          ]
                                          spids: [38947 38956 38968 -1]
                                        )
                                      ]
                                      spids: [38936 38944 38971]
                                    )
                                  ]
                                  spids: [38932 38933 38974 -1]
                                )
                              ]
                              spids: [38907 38915 38977]
                            )
                          ]
                          spids: [38904 38980]
                        )
                      spids: [38900 38902]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$deplibs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [39018 39025 39027 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [39033]
                                                )
                                              ]
                                              spids: [39033]
                                            )
                                          ]
                                          spids: [39030 39031 39040 -1]
                                        )
                                      ]
                                      spids: [39007 39015 39043]
                                    )
                                  ]
                                  spids: [39002 39004 39046 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_libs') (' ') 
                                                ($ VSub_Name '$deplib')
                                              )
                                            }
                                          spids: [39052]
                                        )
                                      ]
                                      spids: [39052]
                                    )
                                  ]
                                  spids: [39049 39050 39059 -1]
                                )
                              ]
                              spids: [38995 38999 39062]
                            )
                          ]
                          spids: [38992 39065]
                        )
                      spids: [38988 38990]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$new_libs'))}
                          spids: [39068]
                        )
                      ]
                      spids: [39068]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [39079]
                        )
                      ]
                      spids: [39079]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [39082]
                        )
                      ]
                      spids: [39082]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [39085]
                        )
                      ]
                      spids: [39085]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$hardcode_into_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:hardcode_libdirs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [39129]
                                        )
                                      ]
                                      spids: [39129]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [39132]
                                        )
                                      ]
                                      spids: [39132]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$finalize_rpath'))}
                                          spids: [39135]
                                        )
                                      ]
                                      spids: [39135]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(relink)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$compile_rpath') 
                                                    ($ VSub_Name '$rpath')
                                                  )
                                                }
                                              spids: [39154]
                                            )
                                          ]
                                          spids: [39154]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (ForEach
                                      iter_name: libdir
                                      iter_words: [{($ VSub_Name '$rpath')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_flag_spec'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_libdir_separator'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$hardcode_libdirs'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: hardcode_libdirs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$libdir'
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [39215]
                                                                        )
                                                                      ]
                                                                      spids: [39215]
                                                                    )
                                                                  ]
                                                                  spids: [-1 39212]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Case
                                                                  to_match: 
                                                                    {
                                                                      ($ VSub_Name 
'$hardcode_libdir_separator'
                                                                      ) ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator')
                                                                    }
                                                                  arms: [
                                                                    (case_arm
                                                                      pat_list: [
                                                                        {(Lit_Other '*') 
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$hardcode_libdir_separator'
                                                                            ) ($ VSub_Name '$libdir') ($ VSub_Name '$hardcode_libdir_separator')
                                                                          ) (Lit_Other '*')
                                                                        }
                                                                      ]
                                                                      spids: [39237 39244 39247 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other '*')}]
                                                                      action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: 
hardcode_libdirs
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$hardcode_libdirs'
                                                                                    ) ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir')
                                                                                  )
                                                                                }
                                                                              spids: [39254]
                                                                            )
                                                                          ]
                                                                          spids: [39254]
                                                                        )
                                                                      ]
                                                                      spids: [39250 39251 39262 -1]
                                                                    )
                                                                  ]
                                                                  spids: [39228 39234 39265]
                                                                )
                                                              ]
                                                              spids: [39221 39268]
                                                            )
                                                          ]
                                                          spids: [-1 39198]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(eval)} 
                                                          {
                                                            (DQ ('flag=') 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\"'>
                                                              ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                            )
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:dep_rpath)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$dep_rpath') (' ') 
                                                                    ($ VSub_Name '$flag')
                                                                  )
                                                                }
                                                              spids: [39284]
                                                            )
                                                          ]
                                                          spids: [39284]
                                                        )
                                                      ]
                                                      spids: [39271 39292]
                                                    )
                                                  ]
                                                  spids: [-1 39184]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$runpath_var'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$perm_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [39319 39326 39328 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:perm_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$perm_rpath') 
                                                                        (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [39334]
                                                                )
                                                              ]
                                                              spids: [39334]
                                                            )
                                                          ]
                                                          spids: [39331 39332 39341 -1]
                                                        )
                                                      ]
                                                      spids: [39309 39316 39344]
                                                    )
                                                  ]
                                                  spids: [39295 39306]
                                                )
                                              ]
                                              spids: [-1 39347]
                                            )
                                          ]
                                          spids: [39170 39350]
                                        )
                                      spids: [39166 39168]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$hardcode_libdir_separator')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                  spids: [39382]
                                                )
                                              ]
                                              spids: [39382]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_flag_spec_ld'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('dep_rpath=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) ($ VSub_Name '$hardcode_libdir_flag_spec_ld') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 39399]
                                                )
                                              ]
                                              else_action: [
                                                (C {(eval)} 
                                                  {
                                                    (DQ ('dep_rpath=') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\"'>
                                                      ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [39412 39425]
                                            )
                                          ]
                                          spids: [-1 39379]
                                        )
                                      ]
                                      spids: [-1 39428]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$runpath_var'))}
                                                    )
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$perm_rpath'))})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [39459]
                                                )
                                              ]
                                              spids: [39459]
                                            )
                                            (ForEach
                                              iter_name: dir
                                              iter_words: [{($ VSub_Name '$perm_rpath')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rpath') 
                                                                ($ VSub_Name '$dir') (':')
                                                              )
                                                            }
                                                          spids: [39474]
                                                        )
                                                      ]
                                                      spids: [39474]
                                                    )
                                                  ]
                                                  spids: [39471 39482]
                                                )
                                              spids: [39467 39469]
                                            )
                                            (C {(eval)} 
                                              {($ VSub_Name '$runpath_var') (Lit_Other '=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\$'>
                                                ) (rpath) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var')
                                              }
                                            )
                                            (C {(export)} {($ VSub_Name '$runpath_var')})
                                          ]
                                          spids: [-1 39452]
                                        )
                                      ]
                                      spids: [-1 39500]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dep_rpath'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dep_rpath') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [39513]
                                            )
                                          ]
                                          spids: [39513]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 39122]
                                )
                              ]
                              spids: [-1 39521]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$finalize_shlibpath'))}
                                  spids: [39525]
                                )
                              ]
                              spids: [39525]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(relink)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:shlibpath)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$compile_shlibpath') 
                                            ($ VSub_Name '$shlibpath')
                                          )
                                        }
                                      spids: [39544]
                                    )
                                  ]
                                  spids: [39544]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {($ VSub_Name '$shlibpath_var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (shlibpath) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var')
                                      }
                                    )
                                    (C {(export)} {($ VSub_Name '$shlibpath_var')})
                                  ]
                                  spids: [-1 39562]
                                )
                              ]
                              spids: [-1 39580]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('shared_ext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (DQ ('library_names=') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) ($ VSub_Name '$library_names_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                            (C {(set)} {(dummy)} {($ VSub_Name '$library_names')})
                            (C {(shift)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:realname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number '$1'))}
                                  spids: [39618]
                                )
                              ]
                              spids: [39618]
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$soname_spec'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('soname=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 39639]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$realname'))}
                                      spids: [39655]
                                    )
                                  ]
                                  spids: [39655]
                                )
                              ]
                              spids: [39652 39661]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$soname')}
                                          spids: [39678]
                                        )
                                      ]
                                      spids: [39678]
                                    )
                                  ]
                                  spids: [-1 39675]
                                )
                              ]
                              spids: [-1 39682]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$realname'))
                                    }
                                  spids: [39686]
                                )
                              ]
                              spids: [39686]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [39694]
                                )
                              ]
                              spids: [39694]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: True
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linknames)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linknames') (' ') 
                                                ($ VSub_Name '$link')
                                              )
                                            }
                                          spids: [39705]
                                        )
                                      ]
                                      spids: [39705]
                                    )
                                  ]
                                  spids: [39702 39713]
                                )
                              spids: [-1 -1]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {(DQ ($ VSub_Name '$libobjs'))}
                                                      )
                                                      (C {($ VSub_Name '$SP2NL')})
                                                      (C {($ VSub_Name '$SED')} 
                                                        {(DQ ($ VSub_Name '$lo2o'))}
                                                      )
                                                      (C {($ VSub_Name '$NL2SP')})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [39732 39754]
                                          )
                                        }
                                      spids: [39731]
                                    )
                                  ]
                                  spids: [39731]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} {(Lit_Other '=')} 
                                  {(DQ ('X '))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [39772]
                                    )
                                  ]
                                  spids: [39772]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [39776]
                                )
                              ]
                              spids: [39776]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(cp)} {(DQ ($ VSub_Name '$export_symbols'))} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.uexp)
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$libname') (.uexp)
                                              )
                                            }
                                          spids: [39821]
                                        )
                                      ]
                                      spids: [39821]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$delfiles') (' ') 
                                                ($ VSub_Name '$export_symbols')
                                              )
                                            }
                                          spids: [39830]
                                        )
                                      ]
                                      spids: [39830]
                                    )
                                  ]
                                  spids: [-1 39800]
                                )
                              ]
                              spids: [-1 39838]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [39842]
                                )
                              ]
                              spids: [39842]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host_os')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(cygwin) (Lit_Other '*')}
                                    {(mingw) (Lit_Other '*')}
                                    {(cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (x) 
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (C {($ VSub_Name '$SED')} {(1q)} 
                                                                        {
                                                                          ($ VSub_Name 
'$export_symbols'
                                                                          )
                                                                        }
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [39901 39907]
                                                              )
                                                            )
                                                          } {(KW_Bang '!') (Lit_Other '=')} {(xEXPORTS)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:orig_export_symbols)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$export_symbols'))}
                                                          spids: [39943]
                                                        )
                                                      ]
                                                      spids: [39943]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [39949]
                                                        )
                                                      ]
                                                      spids: [39949]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [39952]
                                                        )
                                                      ]
                                                      spids: [39952]
                                                    )
                                                  ]
                                                  spids: [-1 39916]
                                                )
                                              ]
                                              spids: [-1 39956]
                                            )
                                          ]
                                          spids: [-1 39888]
                                        )
                                      ]
                                      spids: [-1 39959]
                                    )
                                  ]
                                  spids: [39852 39864 39962 -1]
                                )
                              ]
                              spids: [39845 39849 39965]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$export_symbols'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$always_export_symbols'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ('generating symbol list for ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$libname') (".la'")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$libname') (.exp)
                                                      )
                                                    }
                                                  spids: [40023]
                                                )
                                              ]
                                              spids: [40023]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$export_symbols_cmds')}
                                                  spids: [40041]
                                                )
                                              ]
                                              spids: [40041]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                                      spids: [40045]
                                                    )
                                                  ]
                                                  spids: [40045]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <'~'>)}
                                                  spids: [40051]
                                                )
                                              ]
                                              spids: [40051]
                                            )
                                            (ForEach
                                              iter_name: cmd
                                              iter_words: [{($ VSub_Name '$cmds')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:IFS)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                          spids: [40069]
                                                        )
                                                      ]
                                                      spids: [40069]
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('cmd=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$cmd'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_len_result')}
                                                          spids: [40093]
                                                        )
                                                      ]
                                                      spids: [40093]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$len'))} {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$max_cmd_len')
                                                                        )
                                                                      } {(-le)} {(-1)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_show_eval)} 
                                                              {(DQ ($ VSub_Name '$cmd'))} {(SQ <'exit $?'>)}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [40138]
                                                                )
                                                              ]
                                                              spids: [40138]
                                                            )
                                                          ]
                                                          spids: [-1 40124]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_verbose)} 
                                                          {
                                                            (DQ 
                                                              (
'using reloadable object file for export list...'
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:skipped_export)
                                                              op: Equal
                                                              rhs: {(Lit_Other ':')}
                                                              spids: [40156]
                                                            )
                                                          ]
                                                          spids: [40156]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [40142 40171]
                                                    )
                                                  ]
                                                  spids: [40066 40174]
                                                )
                                              spids: [40062 40064]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [40177]
                                                )
                                              ]
                                              spids: [40177]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$export_symbols_regex'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ (X) 
                                                                  ($ VSub_Name '$skipped_export')
                                                                )
                                                              } {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$MV "${export_symbols}T" "$export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 40210]
                                                )
                                              ]
                                              spids: [-1 40227]
                                            )
                                          ]
                                          spids: [-1 40010]
                                        )
                                      ]
                                      spids: [-1 40230]
                                    )
                                  ]
                                  spids: [-1 39984]
                                )
                              ]
                              spids: [-1 40233]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_export_symbols)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$export_symbols'))}
                                          spids: [40261]
                                        )
                                      ]
                                      spids: [40261]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$orig_export_symbols'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:tmp_export_symbols)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                              spids: [40277]
                                            )
                                          ]
                                          spids: [40277]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (Pipeline
                                          children: [
                                            (C {($ VSub_Name '$ECHO')} 
                                              {(DQ ($ VSub_Name '$include_expsyms'))}
                                            )
                                            (SimpleCommand
                                              words: [{($ VSub_Name '$SP2NL')}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$tmp_export_symbols'))}
                                                  spids: [40297]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 40258]
                                )
                              ]
                              spids: [-1 40304]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$skipped_export'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ('filter symbol list for ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$libname') (".la' to tag DATA exports")
                                        )
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-e)}
                                            {
                                              (SQ 
                                                <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                >
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [40384]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$libname') (.filter)
                                                }
                                              spids: [40388]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$delfiles') (' ') 
                                                ($ VSub_Name '$export_symbols') (' ') ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.filter)
                                              )
                                            }
                                          spids: [40396]
                                        )
                                      ]
                                      spids: [40396]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.def)
                                            }
                                          spids: [40409]
                                        )
                                      ]
                                      spids: [40409]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-f)}
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.filter)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {($ VSub_Name '$orig_export_symbols')}
                                              spids: [40429]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [40433]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 40335]
                                )
                              ]
                              spids: [-1 40438]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [40442]
                                )
                              ]
                              spids: [40442]
                            )
                            (ForEach
                              iter_name: test_deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$convenience') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' ') ($ VSub_Name '$test_deplib') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [40468 40475 40477 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_deplibs') (' ') 
                                                        ($ VSub_Name '$test_deplib')
                                                      )
                                                    }
                                                  spids: [40484]
                                                )
                                              ]
                                              spids: [40484]
                                            )
                                          ]
                                          spids: [40480 40481 40492 -1]
                                        )
                                      ]
                                      spids: [40457 40465 40495]
                                    )
                                  ]
                                  spids: [40454 40498]
                                )
                              spids: [40450 40452]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$tmp_deplibs'))}
                                  spids: [40501]
                                )
                              ]
                              spids: [40501]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$compiler_needs_object')
                                                            )
                                                          } {(Lit_Other '=')} {(yes)}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$libobjs'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whole_archive_flag_spec)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40568]
                                                )
                                              ]
                                              spids: [40568]
                                            )
                                          ]
                                          spids: [-1 40557]
                                        )
                                      ]
                                      spids: [-1 40571]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:save_libobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$libobjs')}
                                                  spids: [40588]
                                                )
                                              ]
                                              spids: [40588]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('libobjs=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('libobjs ') 
                                                  ($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                                  {(Lit_Other '=')} {(DQ ('X '))}
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:libobjs)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [40619]
                                                    )
                                                  ]
                                                  spids: [40619]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 40585]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:gentop)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    (${ VSub_Name outputname) (x)
                                                  )
                                                }
                                              spids: [40625]
                                            )
                                          ]
                                          spids: [40625]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:generated)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$generated') (' ') 
                                                    ($ VSub_Name '$gentop')
                                                  )
                                                }
                                              spids: [40636]
                                            )
                                          ]
                                          spids: [40636]
                                        )
                                        (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                          {($ VSub_Name '$convenience')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$libobjs') (' ') 
                                                    ($ VSub_Name '$func_extract_archives_result')
                                                  )
                                                }
                                              spids: [40652]
                                            )
                                          ]
                                          spids: [40652]
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                              {(Lit_Other '=')} {(DQ ('X '))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40675]
                                                )
                                              ]
                                              spids: [40675]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [40622 40678]
                                    )
                                  ]
                                  spids: [-1 40519]
                                )
                              ]
                              spids: [-1 40681]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$thread_safe'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$thread_safe_flag_spec'))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('flag=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$thread_safe_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$flag')
                                              )
                                            }
                                          spids: [40721]
                                        )
                                      ]
                                      spids: [40721]
                                    )
                                  ]
                                  spids: [-1 40708]
                                )
                              ]
                              spids: [-1 40729]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} 
                                          {(relink)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (Subshell
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(cd)} {($ VSub_Name '$output_objdir')})
                                                    (AndOr
                                                      children: [
                                                        (C {($ VSub_Name '$RM')} 
                                                          {(${ VSub_Name realname) (U)}
                                                        )
                                                        (C {($ VSub_Name '$MV')} 
                                                          {($ VSub_Name '$realname')} {(${ VSub_Name realname) (U)}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              spids: [40757 40781]
                                            )
                                            (C {(exit)} {($ VSub_QMark '$?')})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 40750]
                                )
                              ]
                              spids: [-1 40790]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other '=')} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ ('test_cmds=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$module_expsym_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_expsym_cmds')}
                                                  spids: [40859]
                                                )
                                              ]
                                              spids: [40859]
                                            )
                                          ]
                                          spids: [-1 40846]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('test_cmds=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) ($ VSub_Name '$module_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$module_cmds')}
                                              spids: [40876]
                                            )
                                          ]
                                          spids: [40876]
                                        )
                                      ]
                                      spids: [40863 40880]
                                    )
                                  ]
                                  spids: [-1 40822]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('test_cmds=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) ($ VSub_Name '$archive_expsym_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_expsym_cmds')}
                                              spids: [40920]
                                            )
                                          ]
                                          spids: [40920]
                                        )
                                      ]
                                      spids: [-1 40907]
                                    )
                                  ]
                                  else_action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('test_cmds=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$archive_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cmds)
                                          op: Equal
                                          rhs: {($ VSub_Name '$archive_cmds')}
                                          spids: [40937]
                                        )
                                      ]
                                      spids: [40937]
                                    )
                                  ]
                                  spids: [40924 40941]
                                )
                              ]
                              spids: [40883 40944]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$skipped_export'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                                                (AndOr
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_len_result')}
                                                          spids: [40977]
                                                        )
                                                      ]
                                                      spids: [40977]
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                                          {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                        )
                                                        (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} 
                                                          {(-le)} {(-1)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [-1 41008]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-z)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_libobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$libobjs')}
                                              spids: [41086]
                                            )
                                          ]
                                          spids: [41086]
                                        )
                                      ]
                                      spids: [-1 41083]
                                    )
                                  ]
                                  spids: [-1 41090]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [41093]
                                    )
                                  ]
                                  spids: [41093]
                                )
                                (C {(func_basename)} {(DQ ($ VSub_Name '$output'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output_la)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_basename_result')}
                                      spids: [41104]
                                    )
                                  ]
                                  spids: [41104]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [41117]
                                    )
                                  ]
                                  spids: [41117]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [41120]
                                    )
                                  ]
                                  spids: [41120]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [41123]
                                    )
                                  ]
                                  spids: [41123]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [41126]
                                    )
                                  ]
                                  spids: [41126]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [41129]
                                    )
                                  ]
                                  spids: [41129]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (AndOr
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ (X) ($ VSub_Name '$skipped_export'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$with_gnu_ld'))} 
                                                      {(Lit_Other '=')} {(yes)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {(${ VSub_Name output_objdir) (/) 
                                                  (${ VSub_Name output_la) (.lnkscript)
                                                }
                                              spids: [41176]
                                            )
                                          ]
                                          spids: [41176]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ('creating GNU ld script: ') ($ VSub_Name '$output'))}
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'INPUT ('>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [41201]
                                            )
                                          ]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          iter_words: [{($ VSub_Name '$save_libobjs')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$obj'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: -1
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [41224]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41215 41229]
                                            )
                                          spids: [41211 -1]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <')'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [41238]
                                            )
                                          ]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$delfiles') (' ') 
                                                    ($ VSub_Name '$output')
                                                  )
                                                }
                                              spids: [41243]
                                            )
                                          ]
                                          spids: [41243]
                                        )
                                      ]
                                      spids: [-1 41173]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (AndOr
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ (X) ($ VSub_Name '$skipped_export'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ (X) ($ VSub_Name '$file_list_spec'))} {(KW_Bang '!') (Lit_Other '=')} {(X)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {(${ VSub_Name output_objdir) (/) 
                                                  (${ VSub_Name output_la) (.lnk)
                                                }
                                              spids: [41295]
                                            )
                                          ]
                                          spids: [41295]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating linker input file list: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [41316]
                                            )
                                          ]
                                        )
                                        (C {(set)} {(x)} {($ VSub_Name '$save_libobjs')})
                                        (C {(shift)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:firstobj)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [41331]
                                            )
                                          ]
                                          spids: [41331]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$compiler_needs_object'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:firstobj)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Number '$1') (' '))}
                                                      spids: [41350]
                                                    )
                                                  ]
                                                  spids: [41350]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [-1 41347]
                                            )
                                          ]
                                          spids: [-1 41360]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: True
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$obj'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: -1
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [41377]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41368 41382]
                                            )
                                          spids: [-1 -1]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$delfiles') (' ') 
                                                    ($ VSub_Name '$output')
                                                  )
                                                }
                                              spids: [41385]
                                            )
                                          ]
                                          spids: [41385]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$firstobj') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$file_list_spec') ($ VSub_Name '$output') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  )
                                                }
                                              spids: [41393]
                                            )
                                          ]
                                          spids: [41393]
                                        )
                                      ]
                                      spids: [41251 41292]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {(DQ ('creating reloadable object files...'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$output_la') (-) (${ VSub_Name k) (.) ($ VSub_Name '$objext')
                                                    }
                                                  spids: [41425]
                                                )
                                              ]
                                              spids: [41425]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('test_cmds=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$reload_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                            (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len0)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_len_result')}
                                                  spids: [41455]
                                                )
                                              ]
                                              spids: [41455]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$len0')}
                                                  spids: [41459]
                                                )
                                              ]
                                              spids: [41459]
                                            )
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$save_libobjs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                                    (C {(func_arith)} {($ VSub_Name '$len')} 
                                                      {(Lit_Other '+')} {($ VSub_Name '$func_len_result')}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_arith_result')}
                                                          spids: [41497]
                                                        )
                                                      ]
                                                      spids: [41497]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ (X) 
                                                                          ($ VSub_Name '$objlist')
                                                                        )
                                                                      } {(Lit_Other '=')} {(X)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$len'))} {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(objlist)} 
                                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                                            )
                                                          ]
                                                          spids: [-1 41530]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$k'))} {(-eq)} {(1)}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:reload_objs)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name '$objlist')}
                                                                      spids: [41575]
                                                                    )
                                                                  ]
                                                                  spids: [41575]
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (DQ ('concat_cmds=') 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\"'>
                                                                      ) ($ VSub_Name '$reload_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 41568]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:reload_objs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$objlist') 
                                                                        (' ') ($ VSub_Name '$last_robj')
                                                                      )
                                                                    }
                                                                  spids: [41600]
                                                                )
                                                              ]
                                                              spids: [41600]
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ('concat_cmds=') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('concat_cmds~') ($ VSub_Name '$reload_cmds') ('~') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\$'>
                                                                  ) ('RM ') ($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [41589 41624]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:last_robj)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$output_objdir') (/) 
                                                                  ($ VSub_Name '$output_la') (-) (${ VSub_Name k) (.) ($ VSub_Name '$objext')
                                                                }
                                                              spids: [41627]
                                                            )
                                                          ]
                                                          spids: [41627]
                                                        )
                                                        (C {(func_arith)} {($ VSub_Name '$k')} 
                                                          {(Lit_Other '+')} {(1)}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:k)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$func_arith_result')}
                                                              spids: [41648]
                                                            )
                                                          ]
                                                          spids: [41648]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:output)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$output_objdir') (/) 
                                                                  ($ VSub_Name '$output_la') (-) (${ VSub_Name k) (.) ($ VSub_Name '$objext')
                                                                }
                                                              spids: [41652]
                                                            )
                                                          ]
                                                          spids: [41652]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (' ') ($ VSub_Name '$obj'))}
                                                              spids: [41664]
                                                            )
                                                          ]
                                                          spids: [41664]
                                                        )
                                                        (C {(func_len)} 
                                                          {(DQ (' ') ($ VSub_Name '$last_robj'))}
                                                        )
                                                        (C {(func_arith)} {($ VSub_Name '$len0')} 
                                                          {(Lit_Other '+')} {($ VSub_Name '$func_len_result')}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:len)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$func_arith_result')}
                                                              spids: [41688]
                                                            )
                                                          ]
                                                          spids: [41688]
                                                        )
                                                      ]
                                                      spids: [41543 41692]
                                                    )
                                                  ]
                                                  spids: [41477 41695]
                                                )
                                              spids: [41473 -1]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_Tilde '~')
                                                        }
                                                      spids: [41720]
                                                    )
                                                  ]
                                                  spids: [41720]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:reload_objs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$objlist') (' ') 
                                                        ($ VSub_Name '$last_robj')
                                                      )
                                                    }
                                                  spids: [41725]
                                                )
                                              ]
                                              spids: [41725]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('concat_cmds=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{concat_cmds}') ($ VSub_Name '$reload_cmds') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$last_robj'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('concat_cmds=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{concat_cmds}~') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\$'>
                                                          ) ('RM ') ($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 41756]
                                                )
                                              ]
                                              spids: [-1 41773]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:delfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$delfiles') (' ') 
                                                        ($ VSub_Name '$output')
                                                      )
                                                    }
                                                  spids: [41776]
                                                )
                                              ]
                                              spids: [41776]
                                            )
                                          ]
                                          spids: [-1 41415]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [41788]
                                            )
                                          ]
                                          spids: [41788]
                                        )
                                      ]
                                      spids: [41785 41791]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C 
                                                  {
                                                    (BracedVarSub
                                                      token: <VSub_Name skipped_export>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_Hyphen
                                                          arg_word: {(false)}
                                                        )
                                                      spids: [41797 41801]
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ('generating symbol list for ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$libname') (".la'")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$libname') (.exp)
                                                      )
                                                    }
                                                  spids: [41817]
                                                )
                                              ]
                                              spids: [41817]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output')}
                                                  spids: [41835]
                                                )
                                              ]
                                              spids: [41835]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_Tilde '~')
                                                        }
                                                      spids: [41853]
                                                    )
                                                  ]
                                                  spids: [41853]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('concat_cmds=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) ($ VSub_Name '$export_symbols_cmds') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$last_robj'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('concat_cmds=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('concat_cmds~') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\$'>
                                                          ) ('RM ') ($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 41881]
                                                )
                                              ]
                                              spids: [-1 41898]
                                            )
                                          ]
                                          spids: [-1 41804]
                                        )
                                      ]
                                      spids: [-1 41901]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating a temporary reloadable object file: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                                              spids: [41929]
                                            )
                                          ]
                                          spids: [41929]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <'~'>)}
                                          spids: [41935]
                                        )
                                      ]
                                      spids: [41935]
                                    )
                                    (ForEach
                                      iter_name: cmd
                                      iter_words: [{($ VSub_Name '$concat_cmds')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [41953]
                                                )
                                              ]
                                              spids: [41953]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_silent')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(func_quote_for_expand)} 
                                                      {(DQ ($ VSub_Name '$cmd'))}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('func_echo ') 
                                                          ($ VSub_Name 
'$func_quote_for_expand_result'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [41963]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (AndOr
                                                  children: [
                                                    (C {(eval)} {(DQ ($ VSub_Name '$cmd'))})
                                                    (BraceGroup
                                                      children: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lt_exit)
                                                              op: Equal
                                                              rhs: {($ VSub_QMark '$?')}
                                                              spids: [41999]
                                                            )
                                                          ]
                                                          spids: [41999]
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(relink)}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Subshell
                                                                  child: 
                                                                    (AndOr
                                                                      children: [
                                                                        (C {(cd)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$output_objdir'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (AndOr
                                                                          children: [
                                                                            (C {($ VSub_Name '$RM')} 
                                                                              {
                                                                                (DQ 
                                                                                  (${ VSub_Name 
realname
                                                                                  ) (T)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$MV')} 
                                                                              {
                                                                                (DQ 
                                                                                  (${ VSub_Name 
realname
                                                                                  ) (U)
                                                                                )
                                                                              } {(DQ ($ VSub_Name '$realname'))}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      ]
                                                                      op_id: Op_DAmp
                                                                    )
                                                                  spids: [42024 42062]
                                                                )
                                                              ]
                                                              spids: [-1 42021]
                                                            )
                                                          ]
                                                          spids: [-1 42065]
                                                        )
                                                        (C {(exit)} {($ VSub_Name '$lt_exit')})
                                                      ]
                                                      spids: [41996]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [41950 42077]
                                        )
                                      spids: [41946 41948]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [42080]
                                        )
                                      ]
                                      spids: [42080]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                    (C 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name skipped_export>
                                                          suffix_op: 
                                                            (StringUnary
                                                              op_id: VTest_Hyphen
                                                              arg_word: {(false)}
                                                            )
                                                          spids: [42099 42103]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
'$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
                                                  >
                                                )
                                              }
                                            )
                                            (C {(func_show_eval)} 
                                              {(SQ <'$MV "${export_symbols}T" "$export_symbols"'>)}
                                            )
                                          ]
                                          spids: [-1 42106]
                                        )
                                      ]
                                      spids: [-1 42123]
                                    )
                                  ]
                                  spids: [41401 42126]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C 
                                              {
                                                (BracedVarSub
                                                  token: <VSub_Name skipped_export>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VTest_Hyphen
                                                      arg_word: {(false)}
                                                    )
                                                  spids: [42132 42136]
                                                )
                                              }
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$include_expsyms'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tmp_export_symbols)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$export_symbols'))}
                                                      spids: [42166]
                                                    )
                                                  ]
                                                  spids: [42166]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_export_symbols)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name '$orig_export_symbols')
                                                              )
                                                            }
                                                          spids: [42182]
                                                        )
                                                      ]
                                                      spids: [42182]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (Pipeline
                                                      children: [
                                                        (C {($ VSub_Name '$ECHO')} 
                                                          {(DQ ($ VSub_Name '$include_expsyms'))}
                                                        )
                                                        (SimpleCommand
                                                          words: [{($ VSub_Name '$SP2NL')}]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_DGreat
                                                              fd: -1
                                                              arg_word: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$tmp_export_symbols'
                                                                    )
                                                                  )
                                                                }
                                                              spids: [42202]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      negated: False
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 42163]
                                            )
                                          ]
                                          spids: [-1 42209]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ('filter symbol list for ') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\`'>
                                                      ) ($ VSub_Name '$libname') (".la' to tag DATA exports")
                                                    )
                                                  }
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-e)}
                                                        {
                                                          (SQ 
                                                            <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [42273]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.filter)
                                                            }
                                                          spids: [42277]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:delfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$delfiles') (' ') 
                                                            ($ VSub_Name '$export_symbols') (' ') ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.filter)
                                                          )
                                                        }
                                                      spids: [42285]
                                                    )
                                                  ]
                                                  spids: [42285]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_symbols)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.def)
                                                        }
                                                      spids: [42298]
                                                    )
                                                  ]
                                                  spids: [42298]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-f)}
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.filter)
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name '$orig_export_symbols')}
                                                          spids: [42318]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [42322]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 42224]
                                            )
                                          ]
                                          spids: [-1 42327]
                                        )
                                      ]
                                      spids: [-1 42139]
                                    )
                                  ]
                                  spids: [-1 42330]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [42334]
                                    )
                                  ]
                                  spids: [42334]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$save_output')}
                                      spids: [42342]
                                    )
                                  ]
                                  spids: [42342]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('libobjs=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('libobjs ') 
                                              ($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                            )
                                          }
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                              {(Lit_Other '=')} {(DQ ('X '))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [42398]
                                                )
                                              ]
                                              spids: [42398]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [-1 42368]
                                    )
                                  ]
                                  spids: [-1 42401]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cmds)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$module_expsym_cmds')}
                                                      spids: [42468]
                                                    )
                                                  ]
                                                  spids: [42468]
                                                )
                                              ]
                                              spids: [-1 42465]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_cmds')}
                                                  spids: [42475]
                                                )
                                              ]
                                              spids: [42475]
                                            )
                                          ]
                                          spids: [42472 42479]
                                        )
                                      ]
                                      spids: [-1 42441]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$archive_expsym_cmds')}
                                                  spids: [42509]
                                                )
                                              ]
                                              spids: [42509]
                                            )
                                          ]
                                          spids: [-1 42506]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_cmds')}
                                              spids: [42516]
                                            )
                                          ]
                                          spids: [42516]
                                        )
                                      ]
                                      spids: [42513 42520]
                                    )
                                  ]
                                  spids: [42482 42523]
                                )
                              ]
                              spids: [41014 42526]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$delfiles'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('cmds=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('cmds~') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('RM ') ($ VSub_Name '$delfiles') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 42541]
                                )
                              ]
                              spids: [-1 42562]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlprefiles'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:gentop)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                (${ VSub_Name outputname) (x)
                                              )
                                            }
                                          spids: [42584]
                                        )
                                      ]
                                      spids: [42584]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:generated)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$generated') (' ') 
                                                ($ VSub_Name '$gentop')
                                              )
                                            }
                                          spids: [42595]
                                        )
                                      ]
                                      spids: [42595]
                                    )
                                    (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                      {($ VSub_Name '$dlprefiles')}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libobjs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$libobjs') (' ') 
                                                ($ VSub_Name '$func_extract_archives_result')
                                              )
                                            }
                                          spids: [42611]
                                        )
                                      ]
                                      spids: [42611]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                          {(Lit_Other '=')} {(DQ ('X '))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [42634]
                                            )
                                          ]
                                          spids: [42634]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 42581]
                                )
                              ]
                              spids: [-1 42637]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [42641]
                                    )
                                  ]
                                  spids: [42641]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <'~'>)}
                                  spids: [42647]
                                )
                              ]
                              spids: [42647]
                            )
                            (ForEach
                              iter_name: cmd
                              iter_words: [{($ VSub_Name '$cmds')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [42665]
                                        )
                                      ]
                                      spids: [42665]
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ('cmd=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                          ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_silent')})
                                        (BraceGroup
                                          children: [
                                            (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$cmd'))})
                                            (C {(eval)} 
                                              {
                                                (DQ ('func_echo ') 
                                                  ($ VSub_Name '$func_quote_for_expand_result')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [42685]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (C {(eval)} {(DQ ($ VSub_Name '$cmd'))})
                                            (BraceGroup
                                              children: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:lt_exit)
                                                      op: Equal
                                                      rhs: {($ VSub_QMark '$?')}
                                                      spids: [42721]
                                                    )
                                                  ]
                                                  spids: [42721]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                              {(Lit_Other '=')} {(relink)}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Subshell
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(cd)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$output_objdir')
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {($ VSub_Name '$RM')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (T)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name '$MV')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (U)
                                                                        )
                                                                      } {(DQ ($ VSub_Name '$realname'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          spids: [42746 42784]
                                                        )
                                                      ]
                                                      spids: [-1 42743]
                                                    )
                                                  ]
                                                  spids: [-1 42787]
                                                )
                                                (C {(exit)} {($ VSub_Name '$lt_exit')})
                                              ]
                                              spids: [42718]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [42662 42799]
                                )
                              spids: [42658 42660]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [42802]
                                )
                              ]
                              spids: [42802]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} 
                                          {(relink)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (Subshell
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(cd)} {($ VSub_Name '$output_objdir')})
                                                    (AndOr
                                                      children: [
                                                        (C {($ VSub_Name '$RM')} 
                                                          {(${ VSub_Name realname) (T)}
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {($ VSub_Name '$MV')} 
                                                              {($ VSub_Name '$realname')} {(${ VSub_Name realname) (T)}
                                                            )
                                                            (C {($ VSub_Name '$MV')} 
                                                              {(${ VSub_Name realname) (U)} {($ VSub_Name '$realname')}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              spids: [42833 42868]
                                            )
                                            (C {(exit)} {($ VSub_QMark '$?')})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$whole_archive_flag_spec')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})
                                                  ]
                                                  spids: [-1 42903]
                                                )
                                              ]
                                              spids: [-1 42913]
                                            )
                                          ]
                                          spids: [-1 42889]
                                        )
                                      ]
                                      spids: [-1 42916]
                                    )
                                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                                  ]
                                  spids: [-1 42826]
                                )
                              ]
                              spids: [-1 42925]
                            )
                            (ForEach
                              iter_name: linkname
                              iter_words: [{($ VSub_Name '$linknames')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$realname'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkname'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
'(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")'
                                                  >
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [-1 42961]
                                        )
                                      ]
                                      spids: [-1 42975]
                                    )
                                  ]
                                  spids: [42942 42978]
                                )
                              spids: [42938 42940]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other '=')} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$export_dynamic'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$soname'))}
                                          spids: [43018]
                                        )
                                      ]
                                      spids: [43018]
                                    )
                                  ]
                                  spids: [-1 43011]
                                )
                              ]
                              spids: [-1 43024]
                            )
                          ]
                          spids: [-1 39106]
                        )
                      ]
                      spids: [-1 43027]
                    )
                  ]
                  spids: [33598 33599 43030 -1]
                )
                (case_arm
                  pat_list: [{(obj)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name '$dlself'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-dlopen' is ignored for objects")
                                )
                              }
                            )
                          ]
                          spids: [-1 43063]
                        )
                      ]
                      spids: [-1 43074]
                    )
                    (Case
                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs'))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-l) 
                              (Lit_Other '*')
                            }
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-L) 
                              (Lit_Other '*')
                            }
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-l' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-L' are ignored for objects")
                                )
                              }
                            )
                          ]
                          spids: [43088 43099 43111 -1]
                        )
                      ]
                      spids: [43078 43085 43114]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-rpath' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-R' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-version-info' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-release' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Case
                      to_match: {($ VSub_Name '$output')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} 
                                  {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ('cannot build library object ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$output') ("' from non-libtool objects")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [43238]
                                )
                              ]
                              spids: [43238]
                            )
                            (C {(func_lo2o)} {(DQ ($ VSub_Name '$libobj'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_lo2o_result')}
                                  spids: [43249]
                                )
                              ]
                              spids: [43249]
                            )
                          ]
                          spids: [43209 43211 43253 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [43260]
                                )
                              ]
                              spids: [43260]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$output'))}
                                  spids: [43263]
                                )
                              ]
                              spids: [43263]
                            )
                          ]
                          spids: [43256 43257 43269 -1]
                        )
                      ]
                      spids: [43202 43206 43272]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$obj')} {($ VSub_Name '$libobj')})
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_conv_objs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43308]
                        )
                      ]
                      spids: [43308]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43311]
                        )
                      ]
                      spids: [43311]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:wl) op:Equal rhs:{(SQ )} spids:[43326])]
                      spids: [43326]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('tmp_whole_archive_flags=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:reload_conv_objs)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$reload_objs') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) 
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$tmp_whole_archive_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(SQ <'s|,| |g'>)})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [43371 43385]
                                              )
                                            }
                                          spids: [43368]
                                        )
                                      ]
                                      spids: [43368]
                                    )
                                  ]
                                  spids: [-1 43355]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gentop)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name obj) (x))
                                        }
                                      spids: [43391]
                                    )
                                  ]
                                  spids: [43391]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))
                                        }
                                      spids: [43402]
                                    )
                                  ]
                                  spids: [43402]
                                )
                                (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                  {($ VSub_Name '$convenience')}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:reload_conv_objs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$reload_objs') (' ') 
                                            ($ VSub_Name '$func_extract_archives_result')
                                          )
                                        }
                                      spids: [43418]
                                    )
                                  ]
                                  spids: [43418]
                                )
                              ]
                              spids: [43388 43426]
                            )
                          ]
                          spids: [-1 43341]
                        )
                      ]
                      spids: [-1 43429]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_objs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs') (' ')) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$libobjs'))})
                                          (C {($ VSub_Name '$SP2NL')})
                                          (C {($ VSub_Name '$SED')} 
                                            {
                                              (DQ (/) 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\.'>
                                                ) (${ VSub_Name libext) (Lit_Other '$') ('/d; /') (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (lib) 
                                                (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                              )
                                            }
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [43443 43476]
                              ) (DQ (' ') ($ VSub_Name '$reload_conv_objs'))
                            }
                          spids: [43437]
                        )
                      ]
                      spids: [43437]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$obj'))}
                          spids: [43487]
                        )
                      ]
                      spids: [43487]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} {(SQ <'exit $?'>)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobj'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                                  spids: [-1 43534]
                                )
                              ]
                              spids: [-1 43544]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [-1 43520]
                        )
                      ]
                      spids: [-1 43553]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                                  spids: [-1 43585]
                                )
                              ]
                              spids: [-1 43595]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [-1 43571]
                        )
                      ]
                      spids: [-1 43620]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_flag'))})
                                    (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(default)}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:reload_objs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$libobjs') (' ') 
                                        ($ VSub_Name '$reload_conv_objs')
                                      )
                                    }
                                  spids: [43655]
                                )
                              ]
                              spids: [43655]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$libobj'))}
                                  spids: [43663]
                                )
                              ]
                              spids: [43663]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [-1 43648]
                        )
                      ]
                      spids: [-1 43680]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                          spids: [-1 43695]
                        )
                      ]
                      spids: [-1 43705]
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                  ]
                  spids: [43034 43035 43714 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} {(DQ ($ VSub_Name '$output'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result') (.exe)}
                                  spids: [43748]
                                )
                              ]
                              spids: [43748]
                            )
                          ]
                          spids: [43729 43732 43751 -1]
                        )
                      ]
                      spids: [43722 43726 43754]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-version-info' is ignored for programs")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-release' is ignored for programs")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$preload'))} {(Lit_Other '=')} {(yes)})
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$dlopen_support'))} {(Lit_Other '=')} 
                              {(unknown)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$dlopen_self'))} {(Lit_Other '=')} 
                                  {(unknown)}
                                )
                                (AndOr
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$dlopen_self_static'))} 
                                      {(Lit_Other '=')} {(unknown)}
                                    )
                                    (C {(func_warning)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          (
"LT_INIT([dlopen])' not used. Assuming no dlopen support."
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) (Lit_Other '*')}
                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) (Lit_Other '[') (012) 
                              (Lit_Other ']')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43894 43909]
                                      )
                                    }
                                  spids: [43893]
                                )
                              ]
                              spids: [43893]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43913 43928]
                                      )
                                    }
                                  spids: [43912]
                                )
                              ]
                              spids: [43912]
                            )
                          ]
                          spids: [43871 43886 43931 -1]
                        )
                      ]
                      spids: [43864 43868 43934]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$tagname'))} {(Lit_Other '=')} 
                                          {(CXX)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name MACOSX_DEPLOYMENT_TARGET>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_Hyphen
                                                arg_word: {(10.0)}
                                              )
                                            spids: [43980 43984]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [{(10.) (Lit_Other '[') (0123) (Lit_Other ']')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$compile_command') (' ') 
                                                        (${ VSub_Name wl) (-bind_at_load)
                                                      )
                                                    }
                                                  spids: [43996]
                                                )
                                              ]
                                              spids: [43996]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_command') (' ') 
                                                        (${ VSub_Name wl) (-bind_at_load)
                                                      )
                                                    }
                                                  spids: [44007]
                                                )
                                              ]
                                              spids: [44007]
                                            )
                                          ]
                                          spids: [43989 43993 44018 -1]
                                        )
                                      ]
                                      spids: [43978 43986 44021]
                                    )
                                  ]
                                  spids: [-1 43975]
                                )
                              ]
                              spids: [-1 44024]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [44032 44047]
                                      )
                                    }
                                  spids: [44031]
                                )
                              ]
                              spids: [44031]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [44051 44066]
                                      )
                                    }
                                  spids: [44050]
                                )
                              ]
                              spids: [44050]
                            )
                          ]
                          spids: [43945 43950 44069 -1]
                        )
                      ]
                      spids: [43938 43942 44072]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44085]
                        )
                      ]
                      spids: [44085]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (DQ (' -L') ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir') (' ')) (Lit_Other '*')
                                    }
                                  ]
                                  spids: [44111 44120 44122 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$compile_deplibs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                ($ VSub_Name '$objdir') (' ')
                                              ) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' -L') 
                                                        ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir')
                                                      )
                                                    }
                                                  spids: [44152]
                                                )
                                              ]
                                              spids: [44152]
                                            )
                                          ]
                                          spids: [44140 44149 44161 -1]
                                        )
                                      ]
                                      spids: [44129 44137 44164]
                                    )
                                  ]
                                  spids: [44125 44126 44167 -1]
                                )
                              ]
                              spids: [44100 44108 44170]
                            )
                          ]
                          spids: [44097 44173]
                        )
                      spids: [44093 44095]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$compile_deplibs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44211 44218 44220 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [44226]
                                                )
                                              ]
                                              spids: [44226]
                                            )
                                          ]
                                          spids: [44223 44224 44233 -1]
                                        )
                                      ]
                                      spids: [44200 44208 44236]
                                    )
                                  ]
                                  spids: [44195 44197 44239 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_libs') (' ') 
                                                ($ VSub_Name '$deplib')
                                              )
                                            }
                                          spids: [44245]
                                        )
                                      ]
                                      spids: [44245]
                                    )
                                  ]
                                  spids: [44242 44243 44252 -1]
                                )
                              ]
                              spids: [44188 44192 44255]
                            )
                          ]
                          spids: [44185 44258]
                        )
                      spids: [44181 44183]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$new_libs'))}
                          spids: [44261]
                        )
                      ]
                      spids: [44261]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$compile_command') (' ') 
                                ($ VSub_Name '$compile_deplibs')
                              )
                            }
                          spids: [44269]
                        )
                      ]
                      spids: [44269]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$finalize_command') (' ') 
                                ($ VSub_Name '$finalize_deplibs')
                              )
                            }
                          spids: [44277]
                        )
                      ]
                      spids: [44277]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath') ($ VSub_Name '$xrpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name '$rpath')} {($ VSub_Name '$xrpath')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44333 44340 44342 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44348]
                                                )
                                              ]
                                              spids: [44348]
                                            )
                                          ]
                                          spids: [44345 44346 44355 -1]
                                        )
                                      ]
                                      spids: [44323 44330 44358]
                                    )
                                  ]
                                  spids: [44316 44361]
                                )
                              spids: [44310 44314]
                            )
                          ]
                          spids: [-1 44298]
                        )
                      ]
                      spids: [-1 44364]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44372]
                        )
                      ]
                      spids: [44372]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44375]
                        )
                      ]
                      spids: [44375]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$compile_rpath')} {($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$hardcode_libdir_separator'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$libdir'))}
                                                          spids: [44434]
                                                        )
                                                      ]
                                                      spids: [44434]
                                                    )
                                                  ]
                                                  spids: [-1 44431]
                                                )
                                              ]
                                              else_action: [
                                                (Case
                                                  to_match: 
                                                    {($ VSub_Name '$hardcode_libdir_separator') 
                                                      ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator')
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ 
                                                            ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir') ($ VSub_Name '$hardcode_libdir_separator')
                                                          ) (Lit_Other '*')
                                                        }
                                                      ]
                                                      spids: [44456 44463 44466 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:hardcode_libdirs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir')
                                                                  )
                                                                }
                                                              spids: [44473]
                                                            )
                                                          ]
                                                          spids: [44473]
                                                        )
                                                      ]
                                                      spids: [44469 44470 44481 -1]
                                                    )
                                                  ]
                                                  spids: [44447 44453 44484]
                                                )
                                              ]
                                              spids: [44440 44487]
                                            )
                                          ]
                                          spids: [-1 44417]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('flag=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$rpath') (' ') 
                                                    ($ VSub_Name '$flag')
                                                  )
                                                }
                                              spids: [44503]
                                            )
                                          ]
                                          spids: [44503]
                                        )
                                      ]
                                      spids: [44490 44511]
                                    )
                                  ]
                                  spids: [-1 44403]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$perm_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44538 44545 44547 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:perm_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$perm_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44553]
                                                )
                                              ]
                                              spids: [44553]
                                            )
                                          ]
                                          spids: [44550 44551 44560 -1]
                                        )
                                      ]
                                      spids: [44528 44535 44563]
                                    )
                                  ]
                                  spids: [44514 44525]
                                )
                              ]
                              spids: [-1 44566]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(${ VSub_Name ECHO)} 
                                                            {(DQ ($ VSub_Name '$libdir'))}
                                                          )
                                                          (C {(${ VSub_Name SED)} {(-e)} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [44615 44635]
                                              )
                                            }
                                          spids: [44614]
                                        )
                                      ]
                                      spids: [44614]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$libdir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44647 44654 44656 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$libdir')}
                                                  spids: [44663]
                                                )
                                              ]
                                              spids: [44663]
                                            )
                                          ]
                                          spids: [44659 44661 44665 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44671]
                                                )
                                              ]
                                              spids: [44671]
                                            )
                                          ]
                                          spids: [44668 44669 44677 -1]
                                        )
                                      ]
                                      spids: [44638 44644 44680]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44692 44699 44701 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$testbindir')}
                                                  spids: [44708]
                                                )
                                              ]
                                              spids: [44708]
                                            )
                                          ]
                                          spids: [44704 44706 44710 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$testbindir')
                                                      )
                                                    }
                                                  spids: [44716]
                                                )
                                              ]
                                              spids: [44716]
                                            )
                                          ]
                                          spids: [44713 44714 44722 -1]
                                        )
                                      ]
                                      spids: [44683 44689 44725]
                                    )
                                  ]
                                  spids: [44576 44611 44728 -1]
                                )
                              ]
                              spids: [44569 44573 44731]
                            )
                          ]
                          spids: [44389 44734]
                        )
                      spids: [44383 44387]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                  spids: [44766]
                                )
                              ]
                              spids: [44766]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('rpath=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                                  ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                          ]
                          spids: [-1 44763]
                        )
                      ]
                      spids: [-1 44783]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$rpath'))}
                          spids: [44786]
                        )
                      ]
                      spids: [44786]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44793]
                        )
                      ]
                      spids: [44793]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44796]
                        )
                      ]
                      spids: [44796]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$hardcode_libdir_separator'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$libdir'))}
                                                          spids: [44853]
                                                        )
                                                      ]
                                                      spids: [44853]
                                                    )
                                                  ]
                                                  spids: [-1 44850]
                                                )
                                              ]
                                              else_action: [
                                                (Case
                                                  to_match: 
                                                    {($ VSub_Name '$hardcode_libdir_separator') 
                                                      ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator')
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ 
                                                            ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir') ($ VSub_Name '$hardcode_libdir_separator')
                                                          ) (Lit_Other '*')
                                                        }
                                                      ]
                                                      spids: [44875 44882 44885 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:hardcode_libdirs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir')
                                                                  )
                                                                }
                                                              spids: [44892]
                                                            )
                                                          ]
                                                          spids: [44892]
                                                        )
                                                      ]
                                                      spids: [44888 44889 44900 -1]
                                                    )
                                                  ]
                                                  spids: [44866 44872 44903]
                                                )
                                              ]
                                              spids: [44859 44906]
                                            )
                                          ]
                                          spids: [-1 44836]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('flag=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$rpath') (' ') 
                                                    ($ VSub_Name '$flag')
                                                  )
                                                }
                                              spids: [44922]
                                            )
                                          ]
                                          spids: [44922]
                                        )
                                      ]
                                      spids: [44909 44930]
                                    )
                                  ]
                                  spids: [-1 44822]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_perm_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44957 44964 44966 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_perm_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_perm_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44972]
                                                )
                                              ]
                                              spids: [44972]
                                            )
                                          ]
                                          spids: [44969 44970 44979 -1]
                                        )
                                      ]
                                      spids: [44947 44954 44982]
                                    )
                                  ]
                                  spids: [44933 44944]
                                )
                              ]
                              spids: [-1 44985]
                            )
                          ]
                          spids: [44808 44988]
                        )
                      spids: [44804 44806]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                  spids: [45020]
                                )
                              ]
                              spids: [45020]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('rpath=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                                  ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                          ]
                          spids: [-1 45017]
                        )
                      ]
                      spids: [-1 45037]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$rpath'))}
                          spids: [45040]
                        )
                      ]
                      spids: [45040]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobjs'))})
                                    (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} 
                                      {(yes)}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$lo2o'))})
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45078 45100]
                                      )
                                    }
                                  spids: [45077]
                                )
                              ]
                              spids: [45077]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$finalize_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$lo2o'))})
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45104 45126]
                                      )
                                    }
                                  spids: [45103]
                                )
                              ]
                              spids: [45103]
                            )
                          ]
                          spids: [-1 45070]
                        )
                      ]
                      spids: [-1 45129]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$outputname'))} {(DQ ('@PROGRAM@'))} 
                      {(DQ (no))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prelink_cmds'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$prelink_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [-1 45164]
                        )
                      ]
                      spids: [-1 45178]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(yes)}
                          spids: [45182]
                        )
                      ]
                      spids: [45182]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                            {(Lit_Other '*') (mingw32ce) (Lit_Other '*')}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wrappers_required)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45209]
                                )
                              ]
                              spids: [45209]
                            )
                          ]
                          spids: [45193 45202 45213 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [45246]
                                        )
                                      ]
                                      spids: [45246]
                                    )
                                  ]
                                  spids: [-1 45243]
                                )
                              ]
                              spids: [-1 45250]
                            )
                          ]
                          spids: [45216 45226 45253 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$need_relink'))} 
                                              {(Lit_Other '=')} {(no)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [45289]
                                        )
                                      ]
                                      spids: [45289]
                                    )
                                  ]
                                  spids: [-1 45286]
                                )
                              ]
                              spids: [-1 45293]
                            )
                          ]
                          spids: [45256 45257 45296 -1]
                        )
                      ]
                      spids: [45186 45190 45299]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$wrappers_required'))} {(Lit_Other '=')} 
                                  {(no)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45323 45343]
                                      )
                                    }
                                  spids: [45322]
                                )
                              ]
                              spids: [45322]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_command') 
                                        ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45346]
                                )
                              ]
                              spids: [45346]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [45358]
                                )
                              ]
                              spids: [45358]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} 
                              {(SQ <'exit_status=$?'>)}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              (${ VSub_Name outputname) (S.) (${ VSub_Name objext)
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_show_eval)} 
                                      {(SQ <'$RM "$output_objdir/${outputname}S.${objext}"'>)}
                                    )
                                  ]
                                  spids: [-1 45397]
                                )
                              ]
                              spids: [-1 45407]
                            )
                            (C {(exit)} {($ VSub_Name '$exit_status')})
                          ]
                          spids: [-1 45315]
                        )
                      ]
                      spids: [-1 45416]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(-n)} 
                                  {
                                    (DQ ($ VSub_Name '$compile_shlibpath') 
                                      ($ VSub_Name '$finalize_shlibpath')
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$shlibpath_var') ('=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$compile_shlibpath') ($ VSub_Name '$finalize_shlibpath') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                                        ($ VSub_Name '$compile_command')
                                      )
                                    }
                                  spids: [45435]
                                )
                              ]
                              spids: [45435]
                            )
                          ]
                          spids: [-1 45432]
                        )
                      ]
                      spids: [-1 45450]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finalize_shlibpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$shlibpath_var') ('=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$finalize_shlibpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                        ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$finalize_command')
                                      )
                                    }
                                  spids: [45467]
                                )
                              ]
                              spids: [45467]
                            )
                          ]
                          spids: [-1 45464]
                        )
                      ]
                      spids: [-1 45481]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [45485]
                        )
                      ]
                      spids: [45485]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [45488]
                        )
                      ]
                      spids: [45488]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$perm_rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [45523]
                                        )
                                      ]
                                      spids: [45523]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$perm_rpath')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rpath') ($ VSub_Name '$dir') 
                                                        (':')
                                                      )
                                                    }
                                                  spids: [45538]
                                                )
                                              ]
                                              spids: [45538]
                                            )
                                          ]
                                          spids: [45535 45546]
                                        )
                                      spids: [45531 45533]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_var)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$runpath_var') ('=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) ($ VSub_Name '$rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (' ')
                                              )
                                            }
                                          spids: [45549]
                                        )
                                      ]
                                      spids: [45549]
                                    )
                                  ]
                                  spids: [-1 45516]
                                )
                              ]
                              spids: [-1 45562]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finalize_perm_rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [45583]
                                        )
                                      ]
                                      spids: [45583]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$finalize_perm_rpath')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rpath') ($ VSub_Name '$dir') 
                                                        (':')
                                                      )
                                                    }
                                                  spids: [45598]
                                                )
                                              ]
                                              spids: [45598]
                                            )
                                          ]
                                          spids: [45595 45606]
                                        )
                                      spids: [45591 45593]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_var)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$runpath_var') ('=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) ($ VSub_Name '$rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (' ')
                                              )
                                            }
                                          spids: [45609]
                                        )
                                      ]
                                      spids: [45609]
                                    )
                                  ]
                                  spids: [-1 45576]
                                )
                              ]
                              spids: [-1 45622]
                            )
                          ]
                          spids: [-1 45502]
                        )
                      ]
                      spids: [-1 45625]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$no_install'))} {(Lit_Other '=')} {(yes)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_var') 
                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45649]
                                )
                              ]
                              spids: [45649]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$link_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45662 45682]
                                      )
                                    }
                                  spids: [45661]
                                )
                              ]
                              spids: [45661]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [-1 45642]
                        )
                      ]
                      spids: [-1 45718]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$hardcode_action'))} {(Lit_Other '=')} 
                                  {(relink)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_var') 
                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45742]
                                )
                              ]
                              spids: [45742]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$finalize_var') 
                                        ($ VSub_Name '$finalize_command') ($ VSub_Name '$finalize_rpath')
                                      )
                                    }
                                  spids: [45750]
                                )
                              ]
                              spids: [45750]
                            )
                            (C {(func_warning)} 
                              {(DQ ('this platform does not like uninstalled shared libraries'))}
                            )
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ($ VSub_Name '$output') ("' will be relinked during installation")
                                )
                              }
                            )
                          ]
                          spids: [-1 45735]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:link_command)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$finalize_var') 
                                            ($ VSub_Name '$compile_command') ($ VSub_Name '$finalize_rpath')
                                          )
                                        }
                                      spids: [45795]
                                    )
                                  ]
                                  spids: [45795]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$compile_var') 
                                                                    ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (SQ 
                                                                    <
's%@OUTPUT@%\\$progdir/\\$file%g'
                                                                    >
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [45820 45836]
                                                  )
                                                }
                                              spids: [45819]
                                            )
                                          ]
                                          spids: [45819]
                                        )
                                      ]
                                      spids: [-1 45816]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [45846]
                                        )
                                      ]
                                      spids: [45846]
                                    )
                                  ]
                                  spids: [45839 45849]
                                )
                              ]
                              spids: [-1 45792]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_var') 
                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45855]
                                )
                              ]
                              spids: [45855]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$finalize_var') 
                                        ($ VSub_Name '$finalize_command') ($ VSub_Name '$finalize_rpath')
                                      )
                                    }
                                  spids: [45863]
                                )
                              ]
                              spids: [45863]
                            )
                          ]
                          spids: [45852 45871]
                        )
                      ]
                      spids: [45775 45874]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:link_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$link_command'))}
                                          )
                                          (C {($ VSub_Name '$SED')} 
                                            {(SQ <'s%@OUTPUT@%'>) 
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$outputname')
                                              ) (SQ <'%g'>)
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [45883 45905]
                              )
                            }
                          spids: [45882]
                        )
                      ]
                      spids: [45882]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')} 
                          {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname')} {($ VSub_Name '$output_objdir') (/lt-) ($ VSub_Name '$outputname')}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(eval)} {(test)} {(-z)} 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$var') (Lit_Other '+') 
                                                    (set) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ('{ test -z ') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var') ('+set}') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (' || ') ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$var') (' || { ') ($ VSub_Name '$var') 
                                                        ('=; export ') ($ VSub_Name '$var') ('; }; }; ') ($ VSub_Name '$relink_command')
                                                      )
                                                    }
                                                  spids: [46011]
                                                )
                                              ]
                                              spids: [46011]
                                            )
                                          ]
                                          spids: [-1 46008]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(eval)} 
                                                  {(Lit_VarLike 'var_value=') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\$'>
                                                    ) ($ VSub_Name '$var')
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$var_value'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$var') ('=; export ') 
                                                        ($ VSub_Name '$var') ('; ') ($ VSub_Name '$relink_command')
                                                      )
                                                    }
                                                  spids: [46054]
                                                )
                                              ]
                                              spids: [46054]
                                            )
                                          ]
                                          spids: [46033 46051]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$var_value'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$var') ('=') 
                                                    ($ VSub_Name '$func_quote_for_eval_result') ('; export ') ($ VSub_Name '$var') ('; ') ($ VSub_Name '$relink_command')
                                                  )
                                                }
                                              spids: [46074]
                                            )
                                          ]
                                          spids: [46074]
                                        )
                                      ]
                                      spids: [46064 46086]
                                    )
                                  ]
                                  spids: [45987 46089]
                                )
                              spids: [45983 45985]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ('(cd ') 
                                        (CommandSubPart
                                          command_list: (CommandList children:[(C {(pwd)})])
                                          left_token: <Left_Backtick '`'>
                                          spids: [46095 46097]
                                        ) ('; ') ($ VSub_Name '$relink_command') (')')
                                      )
                                    }
                                  spids: [46092]
                                )
                              ]
                              spids: [46092]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$relink_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [46105 46119]
                                      )
                                    }
                                  spids: [46104]
                                )
                              ]
                              spids: [46104]
                            )
                          ]
                          spids: [-1 45971]
                        )
                      ]
                      spids: [-1 46122]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$output')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.exe)}]
                                  action: [
                                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                      {(DQ ($ VSub_Name '$output'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [46170]
                                        )
                                      ]
                                      spids: [46170]
                                    )
                                  ]
                                  spids: [46152 46154 46173 -1]
                                )
                              ]
                              spids: [46145 46149 46176]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(.exe)}
                                          spids: [46196]
                                        )
                                      ]
                                      spids: [46196]
                                    )
                                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                      {(DQ ($ VSub_Name '$outputname'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [46214]
                                        )
                                      ]
                                      spids: [46214]
                                    )
                                  ]
                                  spids: [46190 46193 46217 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [46223]
                                        )
                                      ]
                                      spids: [46223]
                                    )
                                  ]
                                  spids: [46220 46221 46225 -1]
                                )
                              ]
                              spids: [46183 46187 46228]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$output'))} {(DQ )} 
                                      {(DQ (.))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_name)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_basename_result')}
                                          spids: [46265]
                                        )
                                      ]
                                      spids: [46265]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [46269]
                                        )
                                      ]
                                      spids: [46269]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrappersource)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_path') (/) 
                                                ($ VSub_Name '$objdir') (/lt-) ($ VSub_Name '$output_name') (.c)
                                              )
                                            }
                                          spids: [46273]
                                        )
                                      ]
                                      spids: [46273]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrapper)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_path') (/) 
                                                ($ VSub_Name '$output_name') (.exe)
                                              )
                                            }
                                          spids: [46284]
                                        )
                                      ]
                                      spids: [46284]
                                    )
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$cwrappersource')} 
                                      {($ VSub_Name '$cwrapper')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$cwrappersource') 
                                          (' ') ($ VSub_Name '$cwrapper') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_cwrapperexe_src)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name '$cwrappersource')}
                                          spids: [46322]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (C {($ VSub_Name '$LTCC')} {($ VSub_Name '$LTCFLAGS')} 
                                              {(-o)} {($ VSub_Name '$cwrapper')} {($ VSub_Name '$cwrappersource')}
                                            )
                                            (C {($ VSub_Name '$STRIP')} {($ VSub_Name '$cwrapper')})
                                          ]
                                          spids: [46348]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (C {(func_ltwrapper_scriptname)} {($ VSub_Name '$cwrapper')})
                                    (C {($ VSub_Name '$RM')} 
                                      {($ VSub_Name '$func_ltwrapper_scriptname_result')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') 
                                          ($ VSub_Name '$func_ltwrapper_scriptname_result') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name '$build'))} 
                                                          {(Lit_Other '=')} {(DQ (x) ($ VSub_Name '$host'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$cwrapper')}
                                                        {(--lt-dump-script)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                              )
                                                            }
                                                          spids: [46438]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [-1 46431]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        }
                                                      spids: [46450]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [46443 46455]
                                            )
                                          ]
                                          spids: [46406]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [46238 46248 46461 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$output') 
                                          ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_wrapper)} {(no)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [46496]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other '+') (x)} {($ VSub_Name '$output')})
                                  ]
                                  spids: [46464 46466 46509 -1]
                                )
                              ]
                              spids: [46231 46235 46512]
                            )
                          ]
                          spids: [46134]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                  ]
                  spids: [43718 43719 46523 -1]
                )
              ]
              spids: [33376 33380 46526]
            )
            (ForEach
              iter_name: oldlib
              iter_words: [{($ VSub_Name '$oldlibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} 
                                  {(convenience)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$libobjs_save') (' ') 
                                        ($ VSub_Name '$symfileobj')
                                      )
                                    }
                                  spids: [46563]
                                )
                              ]
                              spids: [46563]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$convenience'))}
                                  spids: [46571]
                                )
                              ]
                              spids: [46571]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [46577]
                                )
                              ]
                              spids: [46577]
                            )
                          ]
                          spids: [-1 46560]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                      {(Lit_Other '=')} {(module)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$libobjs_save'))}
                                      spids: [46600]
                                    )
                                  ]
                                  spids: [46600]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:build_libtool_libs)
                                      op: Equal
                                      rhs: {(no)}
                                      spids: [46606]
                                    )
                                  ]
                                  spids: [46606]
                                )
                              ]
                              spids: [-1 46597]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$old_deplibs') (' ') 
                                        ($ VSub_Name '$non_pic_objects')
                                      )
                                    }
                                  spids: [46613]
                                )
                              ]
                              spids: [46613]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$preload'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$symfileobj'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:oldobjs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$oldobjs') (' ') 
                                                ($ VSub_Name '$symfileobj')
                                              )
                                            }
                                          spids: [46647]
                                        )
                                      ]
                                      spids: [46647]
                                    )
                                  ]
                                  spids: [-1 46644]
                                )
                              ]
                              spids: [-1 46655]
                            )
                          ]
                          spids: [46610 46658]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:addlibs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$old_convenience'))}
                              spids: [46661]
                            )
                          ]
                          spids: [46661]
                        )
                      ]
                      spids: [46581 46667]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$addlibs'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gentop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) 
                                        (x)
                                      )
                                    }
                                  spids: [46685]
                                )
                              ]
                              spids: [46685]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))}
                                  spids: [46696]
                                )
                              ]
                              spids: [46696]
                            )
                            (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                              {($ VSub_Name '$addlibs')}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$oldobjs') (' ') 
                                        ($ VSub_Name '$func_extract_archives_result')
                                      )
                                    }
                                  spids: [46712]
                                )
                              ]
                              spids: [46712]
                            )
                          ]
                          spids: [-1 46682]
                        )
                      ]
                      spids: [-1 46720]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                                    (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                      {(Lit_Other '=')} {(yes)}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmds)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_archive_from_new_cmds')}
                                  spids: [46754]
                                )
                              ]
                              spids: [46754]
                            )
                          ]
                          spids: [-1 46751]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlprefiles'))})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gentop)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            (${ VSub_Name outputname) (x)
                                          )
                                        }
                                      spids: [46780]
                                    )
                                  ]
                                  spids: [46780]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))
                                        }
                                      spids: [46791]
                                    )
                                  ]
                                  spids: [46791]
                                )
                                (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                  {($ VSub_Name '$dlprefiles')}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$oldobjs') (' ') 
                                            ($ VSub_Name '$func_extract_archives_result')
                                          )
                                        }
                                      spids: [46807]
                                    )
                                  ]
                                  spids: [46807]
                                )
                              ]
                              spids: [-1 46777]
                            )
                          ]
                          spids: [-1 46815]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Subshell
                                      child: 
                                        (Pipeline
                                          children: [
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$oldobjs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {(DQ ($ VSub_Name '$func_basename_result'))}
                                                    )
                                                  ]
                                                  spids: [46855 46872]
                                                )
                                              spids: [46851 -1]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [46884]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [46887]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [46845 46889]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [-1 46892]
                            )
                          ]
                          else_action: [
                            (C {(echo)} 
                              {(DQ ('copying selected object files to avoid basename conflicts...'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gentop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) 
                                        (x)
                                      )
                                    }
                                  spids: [46908]
                                )
                              ]
                              spids: [46908]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))}
                                  spids: [46919]
                                )
                              ]
                              spids: [46919]
                            )
                            (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$gentop'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [46934]
                                )
                              ]
                              spids: [46934]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [46938]
                                )
                              ]
                              spids: [46938]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [46941]
                                )
                              ]
                              spids: [46941]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:objbase)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                          spids: [46964]
                                        )
                                      ]
                                      spids: [46964]
                                    )
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$oldobjs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ (' '))}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$obj')}
                                                  spids: [46986]
                                                )
                                              ]
                                              spids: [46986]
                                            )
                                          ]
                                          spids: [46982 46984 46989 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$objbase') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (While
                                              cond: [
                                                (Sentence
                                                  child: (C {(Lit_Other ':')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newobj)
                                                          op: Equal
                                                          rhs: 
                                                            {(lt) ($ VSub_Name '$counter') (-) 
                                                              ($ VSub_Name '$objbase')
                                                            }
                                                          spids: [47021]
                                                        )
                                                      ]
                                                      spids: [47021]
                                                    )
                                                    (C {(func_arith)} {($ VSub_Name '$counter')} 
                                                      {(Lit_Other '+')} {(1)}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:counter)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_arith_result')}
                                                          spids: [47037]
                                                        )
                                                      ]
                                                      spids: [47037]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$oldobjs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (Lit_Other '[') 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\ '>
                                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$newobj') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [47052 47062 47064 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(KW_Bang '!')} 
                                                                          {(-f)} {(DQ ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Sentence
                                                                      child: 
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Break 
break
                                                                            >
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [-1 47085]
                                                                )
                                                              ]
                                                              spids: [-1 47090]
                                                            )
                                                          ]
                                                          spids: [47067 47068 47092 -1]
                                                        )
                                                      ]
                                                      spids: [47041 47049 47095]
                                                    )
                                                  ]
                                                  spids: [47010 47098]
                                                )
                                            )
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ('ln ') ($ VSub_Name '$obj') (' ') 
                                                  ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj') (' || cp ') ($ VSub_Name '$obj') (' ') ($ VSub_Name '$gentop') (/) 
                                                  ($ VSub_Name '$newobj')
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$oldobjs') (' ') 
                                                        ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj')
                                                      )
                                                    }
                                                  spids: [47119]
                                                )
                                              ]
                                              spids: [47119]
                                            )
                                          ]
                                          spids: [46992 47002 47129 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$oldobjs') (' ') 
                                                        ($ VSub_Name '$obj')
                                                      )
                                                    }
                                                  spids: [47135]
                                                )
                                              ]
                                              spids: [47135]
                                            )
                                          ]
                                          spids: [47132 47133 47142 -1]
                                        )
                                      ]
                                      spids: [46970 46978 47145]
                                    )
                                  ]
                                  spids: [46954 47148]
                                )
                              spids: [46950 -1]
                            )
                          ]
                          spids: [46898 47151]
                        )
                        (C {(eval)} 
                          {
                            (DQ ('cmds=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              ($ VSub_Name '$old_archive_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                            )
                          }
                        )
                        (C {(func_len)} {(DQ (' ') ($ VSub_Name '$cmds'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:len)
                              op: Equal
                              rhs: {($ VSub_Name '$func_len_result')}
                              spids: [47173]
                            )
                          ]
                          spids: [47173]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                          {(DQ ($ VSub_Name '$max_cmd_len'))}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} {(-le)} {(-1)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [47207]
                                    )
                                  ]
                                  spids: [47207]
                                )
                              ]
                              spids: [-1 47204]
                            )
                          ]
                          else_action: [
                            (C {(func_verbose)} {(DQ ('using piecewise archive linking...'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$RANLIB')}
                                  spids: [47225]
                                )
                              ]
                              spids: [47225]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [47229]
                                )
                              ]
                              spids: [47229]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [47233]
                                )
                              ]
                              spids: [47233]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [47236]
                                )
                              ]
                              spids: [47236]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [47239]
                                )
                              ]
                              spids: [47239]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [47243]
                                )
                              ]
                              spids: [47243]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:last_oldobj)
                                          op: Equal
                                          rhs: {($ VSub_Name '$obj')}
                                          spids: [47262]
                                        )
                                      ]
                                      spids: [47262]
                                    )
                                  ]
                                  spids: [47259 47266]
                                )
                              spids: [47255 -1]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('test_cmds=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$old_archive_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                            (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len0)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_len_result')}
                                  spids: [47287]
                                )
                              ]
                              spids: [47287]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name '$len0')}
                                  spids: [47291]
                                )
                              ]
                              spids: [47291]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                    (C {(func_arith)} {($ VSub_Name '$len')} {(Lit_Other '+')} 
                                      {($ VSub_Name '$func_len_result')}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:len)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_arith_result')}
                                          spids: [47324]
                                        )
                                      ]
                                      spids: [47324]
                                    )
                                    (C {(func_append)} {(objlist)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                                  {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [-1 47353]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$objlist')}
                                              spids: [47366]
                                            )
                                          ]
                                          spids: [47366]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$obj'))} 
                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$last_oldobj'))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:RANLIB)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$save_RANLIB')}
                                                      spids: [47389]
                                                    )
                                                  ]
                                                  spids: [47389]
                                                )
                                              ]
                                              spids: [-1 47386]
                                            )
                                          ]
                                          spids: [-1 47393]
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:concat_cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$concat_cmds') (Lit_Tilde '~')}
                                                  spids: [47406]
                                                )
                                              ]
                                              spids: [47406]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                        (C {(eval)} 
                                          {
                                            (DQ ('concat_cmds=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{concat_cmds}') ($ VSub_Name '$old_archive_cmds') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              )
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:objlist)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [47423]
                                            )
                                          ]
                                          spids: [47423]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name '$len0')}
                                              spids: [47426]
                                            )
                                          ]
                                          spids: [47426]
                                        )
                                      ]
                                      spids: [47359 47430]
                                    )
                                  ]
                                  spids: [47304 47433]
                                )
                              spids: [47300 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_RANLIB')}
                                  spids: [47436]
                                )
                              ]
                              spids: [47436]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objlist')}
                                  spids: [47440]
                                )
                              ]
                              spids: [47440]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$oldobjs'))} 
                                          {(Lit_Other '=')} {(DQ (X))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('cmds=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 47461]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {
                                    (DQ ('cmds=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) ('concat_cmds~') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (old_archive_cmds) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      )
                                    )
                                  }
                                )
                              ]
                              spids: [47475 47491]
                            )
                          ]
                          spids: [47211 47494]
                        )
                      ]
                      spids: [46758 47497]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$cmds'))} {(SQ <'exit $?'>)})
                  ]
                  spids: [46543 47511]
                )
              spids: [46539 46541]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$generated'))})
                (C {(func_show_eval)} {(DQ (${ VSub_Name RM) (r) ($ VSub_Name '$generated'))})
              ]
              op_id: Op_DAmp
            )
            (Case
              to_match: {($ VSub_Name '$output')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [47555]
                        )
                      ]
                      spids: [47555]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:old_library)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext'))}
                              spids: [47570]
                            )
                          ]
                          spids: [47570]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (ForEach
                      iter_name: var
                      iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(eval)} {(test)} {(-z)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\$'>
                                            ) (Lit_LBrace '{') ($ VSub_Name '$var') (Lit_Other '+') (set) (Lit_RBrace '}') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('{ test -z ') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var') ('+set}') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (' || ') ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$var') (' || { ') ($ VSub_Name '$var') 
                                                ('=; export ') ($ VSub_Name '$var') ('; }; }; ') ($ VSub_Name '$relink_command')
                                              )
                                            }
                                          spids: [47624]
                                        )
                                      ]
                                      spids: [47624]
                                    )
                                  ]
                                  spids: [-1 47621]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(eval)} 
                                          {(Lit_VarLike 'var_value=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\$'>
                                            ) ($ VSub_Name '$var')
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$var_value'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$var') ('=; export ') 
                                                ($ VSub_Name '$var') ('; ') ($ VSub_Name '$relink_command')
                                              )
                                            }
                                          spids: [47667]
                                        )
                                      ]
                                      spids: [47667]
                                    )
                                  ]
                                  spids: [47646 47664]
                                )
                              ]
                              else_action: [
                                (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$var_value'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:relink_command)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$var') ('=') 
                                            ($ VSub_Name '$func_quote_for_eval_result') ('; export ') ($ VSub_Name '$var') ('; ') ($ VSub_Name '$relink_command')
                                          )
                                        }
                                      spids: [47687]
                                    )
                                  ]
                                  spids: [47687]
                                )
                              ]
                              spids: [47677 47699]
                            )
                          ]
                          spids: [47600 47702]
                        )
                      spids: [47596 47598]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:relink_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('(cd ') 
                                (CommandSubPart
                                  command_list: (CommandList children:[(C {(pwd)})])
                                  left_token: <Left_Backtick '`'>
                                  spids: [47712 47714]
                                ) ('; ') ($ VSub_Name '$SHELL') (' ') ($ VSub_Name '$progpath') (' ') ($ VSub_Name '$preserve_args') 
                                (' --mode=relink ') ($ VSub_Name '$libtool_args') (' @inst_prefix_dir@)')
                              )
                            }
                          spids: [47709]
                        )
                      ]
                      spids: [47709]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:relink_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$relink_command'))}
                                          )
                                          (C {($ VSub_Name '$SED')} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [47728 47742]
                              )
                            }
                          spids: [47727]
                        )
                      ]
                      spids: [47727]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$hardcode_automatic'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [47762]
                                )
                              ]
                              spids: [47762]
                            )
                          ]
                          spids: [-1 47759]
                        )
                      ]
                      spids: [-1 47765]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (ForEach
                              iter_name: installed
                              iter_words: [{(no)} {(yes)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$install_libdir'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 47821]
                                                )
                                              ]
                                              spids: [-1 47827]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname')
                                                      ) (i)
                                                    }
                                                  spids: [47830]
                                                )
                                              ]
                                              spids: [47830]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [47843]
                                                )
                                              ]
                                              spids: [47843]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$deplib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [47877]
                                                                )
                                                              ]
                                                              spids: [47877]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(${ VSub_Name SED)} 
                                                                                {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$deplib')}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [47884 47898]
                                                                      )
                                                                    }
                                                                  spids: [47883]
                                                                )
                                                              ]
                                                              spids: [47883]
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$deplib') ("' is not a valid libtool archive")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: newdependency_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$newdependency_libs'
                                                                        ) (' ') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                      )
                                                                    }
                                                                  spids: [47922]
                                                                )
                                                              ]
                                                              spids: [47922]
                                                            )
                                                          ]
                                                          spids: [47865 47867 47932 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: newdependency_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$newdependency_libs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [47938]
                                                                )
                                                              ]
                                                              spids: [47938]
                                                            )
                                                          ]
                                                          spids: [47935 47936 47945 -1]
                                                        )
                                                      ]
                                                      spids: [47858 47862 47948]
                                                    )
                                                  ]
                                                  spids: [47855 47951]
                                                )
                                              spids: [47851 47853]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdependency_libs'))}
                                                  spids: [47954]
                                                )
                                              ]
                                              spids: [47954]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [47960]
                                                )
                                              ]
                                              spids: [47960]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlfiles')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$lib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$lib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [47995]
                                                                )
                                                              ]
                                                              spids: [47995]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(${ VSub_Name SED)} 
                                                                                {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$lib')}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [48002 48016]
                                                                      )
                                                                    }
                                                                  spids: [48001]
                                                                )
                                                              ]
                                                              spids: [48001]
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$newdlfiles') 
                                                                        (' ') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                      )
                                                                    }
                                                                  spids: [48040]
                                                                )
                                                              ]
                                                              spids: [48040]
                                                            )
                                                          ]
                                                          spids: [47983 47985 48050 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$newdlfiles') 
                                                                        (' ') ($ VSub_Name '$lib')
                                                                      )
                                                                    }
                                                                  spids: [48056]
                                                                )
                                                              ]
                                                              spids: [48056]
                                                            )
                                                          ]
                                                          spids: [48053 48054 48063 -1]
                                                        )
                                                      ]
                                                      spids: [47976 47980 48066]
                                                    )
                                                  ]
                                                  spids: [47973 48069]
                                                )
                                              spids: [47969 47971]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                                                  spids: [48072]
                                                )
                                              ]
                                              spids: [48072]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [48078]
                                                )
                                              ]
                                              spids: [48078]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$lib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$lib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [48128]
                                                                )
                                                              ]
                                                              spids: [48128]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(${ VSub_Name SED)} 
                                                                                {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$lib')}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [48135 48149]
                                                                      )
                                                                    }
                                                                  spids: [48134]
                                                                )
                                                              ]
                                                              spids: [48134]
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlprefiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$newdlprefiles') (' ') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                      )
                                                                    }
                                                                  spids: [48173]
                                                                )
                                                              ]
                                                              spids: [48173]
                                                            )
                                                          ]
                                                          spids: [48100 48102 48183 -1]
                                                        )
                                                      ]
                                                      spids: [48093 48097 48186]
                                                    )
                                                  ]
                                                  spids: [48090 48189]
                                                )
                                              spids: [48086 48088]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                                                  spids: [48192]
                                                )
                                              ]
                                              spids: [48192]
                                            )
                                          ]
                                          spids: [-1 47807]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [48201]
                                            )
                                          ]
                                          spids: [48201]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlfiles')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$lib')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '[') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\\\'>
                                                          ) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                        {(Lit_Other '[') (A-Za-z) (Lit_Other ']') 
                                                          (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Name '$lib'))}
                                                              spids: [48242]
                                                            )
                                                          ]
                                                          spids: [48242]
                                                        )
                                                      ]
                                                      spids: [48223 48240 48247 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick '`'>
                                                                    spids: [48254 48256]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [48253]
                                                            )
                                                          ]
                                                          spids: [48253]
                                                        )
                                                      ]
                                                      spids: [48250 48251 48262 -1]
                                                    )
                                                  ]
                                                  spids: [48216 48220 48265]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                            ($ VSub_Name '$abs')
                                                          )
                                                        }
                                                      spids: [48268]
                                                    )
                                                  ]
                                                  spids: [48268]
                                                )
                                              ]
                                              spids: [48213 48276]
                                            )
                                          spids: [48209 48211]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                                              spids: [48279]
                                            )
                                          ]
                                          spids: [48279]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [48285]
                                            )
                                          ]
                                          spids: [48285]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlprefiles')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$lib')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '[') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\\\'>
                                                          ) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                        {(Lit_Other '[') (A-Za-z) (Lit_Other ']') 
                                                          (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Name '$lib'))}
                                                              spids: [48326]
                                                            )
                                                          ]
                                                          spids: [48326]
                                                        )
                                                      ]
                                                      spids: [48307 48324 48331 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick '`'>
                                                                    spids: [48338 48340]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [48337]
                                                            )
                                                          ]
                                                          spids: [48337]
                                                        )
                                                      ]
                                                      spids: [48334 48335 48346 -1]
                                                    )
                                                  ]
                                                  spids: [48300 48304 48349]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                            ($ VSub_Name '$abs')
                                                          )
                                                        }
                                                      spids: [48352]
                                                    )
                                                  ]
                                                  spids: [48352]
                                                )
                                              ]
                                              spids: [48297 48360]
                                            )
                                          spids: [48293 48295]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                                              spids: [48363]
                                            )
                                          ]
                                          spids: [48363]
                                        )
                                      ]
                                      spids: [48198 48369]
                                    )
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tdlname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$dlname')}
                                          spids: [48413]
                                        )
                                      ]
                                      spids: [48413]
                                    )
                                    (Case
                                      to_match: 
                                        {($ VSub_Name '$host') (Lit_Comma ',') 
                                          ($ VSub_Name '$output') (Lit_Comma ',') ($ VSub_Name '$installed') (Lit_Comma ',') ($ VSub_Name '$module') (Lit_Comma ',') 
                                          ($ VSub_Name '$dlname')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*') (Lit_Comma ',') 
                                              (Lit_Other '*') (lai) (Lit_Comma ',') (yes) (Lit_Comma ',') (no) (Lit_Comma ',') (Lit_Other '*') (.dll)
                                            }
                                            {(Lit_Other '*') (mingw) (Lit_Other '*') (Lit_Comma ',') 
                                              (Lit_Other '*') (lai) (Lit_Comma ',') (yes) (Lit_Comma ',') (no) (Lit_Comma ',') (Lit_Other '*') (.dll)
                                            }
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*') (Lit_Comma ',') 
                                              (Lit_Other '*') (lai) (Lit_Comma ',') (yes) (Lit_Comma ',') (no) (Lit_Comma ',') (Lit_Other '*') (.dll)
                                            }
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name '$bindir'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(x)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_relative_path)} 
                                                      {(DQ ($ VSub_Name '$install_libdir'))} {(DQ ($ VSub_Name '$bindir'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tdlname)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              ($ VSub_Name 
'$func_relative_path_result'
                                                              ) ($ VSub_Name '$dlname')
                                                            }
                                                          spids: [48515]
                                                        )
                                                      ]
                                                      spids: [48515]
                                                    )
                                                  ]
                                                  spids: [-1 48501]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name '$dlname')}
                                                      spids: [48527]
                                                    )
                                                  ]
                                                  spids: [48527]
                                                )
                                              ]
                                              spids: [48520 48532]
                                            )
                                          ]
                                          spids: [48432 48477 48535 -1]
                                        )
                                      ]
                                      spids: [48417 48429 48538]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$ECHO')}
                                        {
                                          (DQ ('# ') ($ VSub_Name '$outputname') 
                                            (' - a libtool library file\n') ('# Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') 
                                            ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$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='") ($ VSub_Name '$tdlname') ("'\n") ('\n') 
                                            ('# Names of this library.\n') ("library_names='") ($ VSub_Name '$library_names') ("'\n") ('\n') ('# The name of the static archive.\n') 
                                            ("old_library='") ($ VSub_Name '$old_library') ("'\n") ('\n') ('# Linker flags that can not go in dependency_libs.\n') 
                                            ("inherited_linker_flags='") ($ VSub_Name '$new_inherited_linker_flags') ("'\n") ('\n') ('# Libraries that this one depends upon.\n') 
                                            ("dependency_libs='") ($ VSub_Name '$dependency_libs') ("'\n") ('\n') 
                                            (
'# Names of additional weak libraries provided by this library\n'
                                            ) ("weak_library_names='") ($ VSub_Name '$weak_libs') ("'\n") ('\n') ('# Version information for ') 
                                            ($ VSub_Name '$libname') ('.\n') ('current=') ($ VSub_Name '$current') ('\n') ('age=') ($ VSub_Name '$age') ('\n') ('revision=') 
                                            ($ VSub_Name '$revision') ('\n') ('\n') ('# Is this an already installed library?\n') ('installed=') ($ VSub_Name '$installed') 
                                            ('\n') ('\n') ('# Should we warn about portability when linking against -modules?\n') ('shouldnotlink=') 
                                            ($ VSub_Name '$module') ('\n') ('\n') ('# Files to dlopen/dlpreopen\n') ("dlopen='") ($ VSub_Name '$dlfiles') ("'\n") 
                                            ("dlpreopen='") ($ VSub_Name '$dlprefiles') ("'\n") ('\n') ('# Directory that this library needs to be installed in:\n') 
                                            ("libdir='") ($ VSub_Name '$install_libdir') ("'")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [48543]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$need_relink'))} 
                                                      {(Lit_Other '=')} {(yes)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$ECHO')}
                                                {
                                                  (DQ ('relink_command=') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) ($ VSub_Name '$relink_command') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: {($ VSub_Name '$output')}
                                                  spids: [48662]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 48657]
                                        )
                                      ]
                                      spids: [-1 48675]
                                    )
                                  ]
                                  spids: [47791 48678]
                                )
                              spids: [47785 47789]
                            )
                          ]
                          spids: [47777]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
'( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )'
                          >
                        )
                      } {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [47550 47552 48704 -1]
                )
              ]
              spids: [47543 47547 48707]
            )
            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
          ]
          spids: [19263]
        )
      spids: [19258 19262]
    )
    (AndOr
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(link)})
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(relink)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [48717]
        )
        (C {(func_mode_link)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [48749 48755]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_mode_uninstall
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RM)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [48773]
                )
              ]
              spids: [48773]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[48779])]
              spids: [48779]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(SQ )} spids:[48782])]
              spids: [48782]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[48785])]
              spids: [48785]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [48798]
                )
              ]
              spids: [48798]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:RM)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$arg'))}
                                      spids: [48823]
                                    )
                                  ]
                                  spids: [48823]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rmforce)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [48831]
                                )
                              ]
                              spids: [48831]
                            )
                          ]
                          spids: [48820 48821 48834 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RM)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$arg'))}
                                  spids: [48841]
                                )
                              ]
                              spids: [48841]
                            )
                          ]
                          spids: [48837 48839 48848 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:files)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$files') (' ') ($ VSub_Name '$arg'))}
                                  spids: [48854]
                                )
                              ]
                              spids: [48854]
                            )
                          ]
                          spids: [48851 48852 48861 -1]
                        )
                      ]
                      spids: [48813 48817 48864]
                    )
                  ]
                  spids: [48810 48867]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$RM'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an RM program'))})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmdirs) op:Equal rhs:{(SQ )} spids:[48891])]
              spids: [48891]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:origobjdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$objdir'))}
                  spids: [48895]
                )
              ]
              spids: [48895]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                          spids: [48927]
                        )
                      ]
                      spids: [48927]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (X) ($ VSub_Name '$dir'))} {(Lit_Other '=')} {(X.)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$origobjdir'))}
                                  spids: [48950]
                                )
                              ]
                              spids: [48950]
                            )
                          ]
                          spids: [-1 48947]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$origobjdir'))}
                              spids: [48959]
                            )
                          ]
                          spids: [48959]
                        )
                      ]
                      spids: [48956 48967]
                    )
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                          spids: [48977]
                        )
                      ]
                      spids: [48977]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(uninstall)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$dir'))}
                              spids: [48995]
                            )
                          ]
                          spids: [48995]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(clean)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$rmdirs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$objdir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [49033 49040 49042 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rmdirs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$rmdirs') (' ') ($ VSub_Name '$objdir'))
                                            }
                                          spids: [49048]
                                        )
                                      ]
                                      spids: [49048]
                                    )
                                  ]
                                  spids: [49045 49046 49055 -1]
                                )
                              ]
                              spids: [49022 49030 49058]
                            )
                          ]
                          spids: [-1 49019]
                        )
                      ]
                      spids: [-1 49061]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-L)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [49084]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [49087]
                                        )
                                      ]
                                      spids: [49071]
                                    )
                                    (AndOr
                                      children: [
                                        (BraceGroup
                                          children: [
                                            (Sentence
                                              child: (C {(test)} {(-h)} {(DQ ($ VSub_Name '$file'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                              spids: [49106]
                                            )
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {(1)}
                                              spids: [49109]
                                            )
                                          ]
                                          spids: [49093]
                                        )
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Lit_Other ':')})]
                          spids: [-1 49124]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name '$file'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [49144]
                                )
                              ]
                              spids: [49144]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [49130 49141]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$rmforce'))} {(Lit_Other '=')} {(yes)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [49151 49164]
                        )
                      ]
                      spids: [-1 49170]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$file'))}
                          spids: [49174]
                        )
                      ]
                      spids: [49174]
                    )
                    (Case
                      to_match: {($ VSub_Name '$name')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name '$dir') (/) ($ VSub_Name '$name')})
                                    (ForEach
                                      iter_name: n
                                      iter_words: [{($ VSub_Name '$library_names')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$objdir') (/) ($ VSub_Name '$n')
                                                      )
                                                    }
                                                  spids: [49233]
                                                )
                                              ]
                                              spids: [49233]
                                            )
                                          ]
                                          spids: [49230 49243]
                                        )
                                      spids: [49226 49228]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rmfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                    ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                  )
                                                }
                                              spids: [49256]
                                            )
                                          ]
                                          spids: [49256]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$mode'))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(clean)}]
                                          action: [
                                            (Case
                                              to_match: 
                                                {(DQ ('  ') ($ VSub_Name '$library_names') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dlname') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [49295 49302 49304 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name '$objdir') (/) ($ VSub_Name '$dlname')
                                                              )
                                                            }
                                                          spids: [49310]
                                                        )
                                                      ]
                                                      spids: [49310]
                                                    )
                                                  ]
                                                  spids: [49307 49308 49319 -1]
                                                )
                                              ]
                                              spids: [49280 49288 49322]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdir'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:rmfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                            ($ VSub_Name '$objdir') (/) ($ VSub_Name '$name') (' ') ($ VSub_Name '$objdir') (/) (${ VSub_Name name) (i)
                                                          )
                                                        }
                                                      spids: [49335]
                                                    )
                                                  ]
                                                  spids: [49335]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [49276 49277 49352 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(uninstall)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$library_names'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_execute_cmds)} 
                                                      {(DQ ($ VSub_Name '$postuninstall_cmds'))} {(SQ <'test "$rmforce" = yes || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [-1 49370]
                                                )
                                              ]
                                              spids: [-1 49388]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_execute_cmds)} 
                                                      {(DQ ($ VSub_Name '$old_postuninstall_cmds'))} {(SQ <'test "$rmforce" = yes || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [-1 49403]
                                                )
                                              ]
                                              spids: [-1 49421]
                                            )
                                          ]
                                          spids: [49355 49356 49428 -1]
                                        )
                                      ]
                                      spids: [49267 49273 49431]
                                    )
                                  ]
                                  spids: [-1 49206]
                                )
                              ]
                              spids: [-1 49434]
                            )
                          ]
                          spids: [49188 49190 49437 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name '$dir') (/) ($ VSub_Name '$name')})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (C {(test)} {(DQ ($ VSub_Name '$pic_object'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$pic_object')
                                                      )
                                                    }
                                                  spids: [49507]
                                                )
                                              ]
                                              spids: [49507]
                                            )
                                          ]
                                          spids: [-1 49504]
                                        )
                                      ]
                                      spids: [-1 49517]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$non_pic_object'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$non_pic_object')
                                                      )
                                                    }
                                                  spids: [49553]
                                                )
                                              ]
                                              spids: [49553]
                                            )
                                          ]
                                          spids: [-1 49550]
                                        )
                                      ]
                                      spids: [-1 49563]
                                    )
                                  ]
                                  spids: [-1 49459]
                                )
                              ]
                              spids: [-1 49566]
                            )
                          ]
                          spids: [49441 49443 49569 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} 
                                          {(clean)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:noexename)
                                          op: Equal
                                          rhs: {($ VSub_Name '$name')}
                                          spids: [49594]
                                        )
                                      ]
                                      spids: [49594]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$file')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.exe)}]
                                          action: [
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name '$file'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:file)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [49624]
                                                )
                                              ]
                                              spids: [49624]
                                            )
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name '$name'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:noexename)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [49642]
                                                )
                                              ]
                                              spids: [49642]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$file')
                                                      )
                                                    }
                                                  spids: [49654]
                                                )
                                              ]
                                              spids: [49654]
                                            )
                                          ]
                                          spids: [49605 49607 49662 -1]
                                        )
                                      ]
                                      spids: [49598 49602 49665]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(func_ltwrapper_p)} {(DQ ($ VSub_Name '$file'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(func_ltwrapper_executable_p)} 
                                                          {(DQ ($ VSub_Name '$file'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_ltwrapper_scriptname)} 
                                                      {(DQ ($ VSub_Name '$file'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:relink_command)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [49703]
                                                        )
                                                      ]
                                                      spids: [49703]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                                )
                                                              )
                                                            }
                                                          spids: [49711]
                                                        )
                                                      ]
                                                      spids: [49711]
                                                    )
                                                  ]
                                                  spids: [-1 49693]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [49722]
                                                    )
                                                  ]
                                                  spids: [49722]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$noexename')
                                                  }
                                                )
                                              ]
                                              spids: [49719 49732]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$objdir') (/) ($ VSub_Name '$name') (' ') ($ VSub_Name '$objdir') (/) (${ VSub_Name name) (S.) (${ VSub_Name objext)
                                                      )
                                                    }
                                                  spids: [49744]
                                                )
                                              ]
                                              spids: [49744]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$fast_install'))} {(Lit_Other '=')} {(yes)}
                                                            )
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$relink_command'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name '$objdir') (/lt-) ($ VSub_Name '$name')
                                                              )
                                                            }
                                                          spids: [49790]
                                                        )
                                                      ]
                                                      spids: [49790]
                                                    )
                                                  ]
                                                  spids: [-1 49787]
                                                )
                                              ]
                                              spids: [-1 49800]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name '$noexename'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$name'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name '$objdir') (/lt-) (${ VSub_Name noexename) (.c)
                                                              )
                                                            }
                                                          spids: [49825]
                                                        )
                                                      ]
                                                      spids: [49825]
                                                    )
                                                  ]
                                                  spids: [-1 49822]
                                                )
                                              ]
                                              spids: [-1 49838]
                                            )
                                          ]
                                          spids: [-1 49681]
                                        )
                                      ]
                                      spids: [-1 49841]
                                    )
                                  ]
                                  spids: [-1 49591]
                                )
                              ]
                              spids: [-1 49844]
                            )
                          ]
                          spids: [49573 49574 49847 -1]
                        )
                      ]
                      spids: [49181 49185 49850]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$rmfiles'))} 
                      {(SQ <'exit_status=1'>)}
                    )
                  ]
                  spids: [48910 49866]
                )
              spids: [48906 48908]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$origobjdir'))}
                  spids: [49869]
                )
              ]
              spids: [49869]
            )
            (ForEach
              iter_name: dir
              iter_words: [{($ VSub_Name '$rmdirs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name '$dir'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ('rmdir ') ($ VSub_Name '$dir') (' >/dev/null 2>&1'))}
                            )
                          ]
                          spids: [-1 49903]
                        )
                      ]
                      spids: [-1 49915]
                    )
                  ]
                  spids: [49889 49918]
                )
              spids: [49885 49887]
            )
            (C {(exit)} {($ VSub_Name '$exit_status')})
          ]
          spids: [48767]
        )
      spids: [48762 48766]
    )
    (AndOr
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(uninstall)})
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(clean)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [49929]
        )
        (C {(func_mode_uninstall)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [49961 49967]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$mode'))})
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$generic_help'))}
                  spids: [49983]
                )
              ]
              spids: [49983]
            )
            (C {(func_fatal_help)} {(DQ ('you must specify a MODE'))})
          ]
          spids: [49980]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$exec_cmd'))})
        (C {(func_fatal_help)} 
          {
            (DQ ('invalid operation mode ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
              ($ VSub_Name '$mode') ("'")
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$exec_cmd'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} {(exec)} {(DQ ($ VSub_Name '$exec_cmd'))})
            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
          ]
          spids: [-1 50031]
        )
      ]
      spids: [-1 50047]
    )
    (C {(exit)} {($ VSub_Name '$exit_status')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[50090])]
      spids: [50090]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[50093])]
      spids: [50093]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:build_old_libs)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Case
                        to_match: {($ VSub_Name '$build_libtool_libs')}
                        arms: [
                          (case_arm
                            pat_list: [{(yes)}]
                            action: [(C {(echo)} {(no)})]
                            spids: [50111 50112 50117 -1]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other '*')}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [50119 50120 50125 -1]
                          )
                        ]
                        spids: [50105 50109 50127]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [50104 50128]
              )
            }
          spids: [50103]
        )
      ]
      spids: [50103]
    )
  ]
)